import {RouteRecordRaw, RouterView} from 'vue-router'
import {h} from 'vue'

import 'vue-router'

const routes: RouteRecordRaw[] = [
  {
    path: '/',
    component: () => import('layouts/MainLayout.vue'),
    children: [
      {path: '', component: () => import('pages/Index.vue')},

      // 容器管理
      {
        path: '/wms/lpn/lpn',
        component: {render: () => h(RouterView)},
        children: [
          // 查看列表
          {
            name: '/wms/lpn/lpn',
            path: '',
            component: () => import('@njt/wms/pages/lpn/LpnList.vue'),
            meta: {needRight: 'Wms.Lpn.Lpn.View'}
          },
          // 创建
          {
            name: '/wms/lpn/lpn/create',
            path: 'create',
            component: () => import('@njt/wms/pages/lpn/Lpn.vue'),
            meta: {needRight: 'Wms.Lpn.Lpn.Edit'}
          },
          // 修改
          {
            name: '/wms/lpn/lpn/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/wms/pages/lpn/Lpn.vue'),
            meta: {needRight: 'Wms.Lpn.Lpn.Edit'}
          },
          // 查看单个
          {
            name: '/wms/lpn/lpn/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/wms/pages/lpn/Lpn.vue'),
            meta: {needRight: 'Wms.Lpn.Lpn.View'}
          }
        ]
      },

      // 计费报表
      {
        name: '/bfs/bill/bill-download',
        path: '/bfs/bill/bill-download',
        component: () => import('../pages/bfsWork/BillDownload.vue'),
        meta: {needRight: 'Bfs.Bill.BillingItem.View'}
      },
      // 亿通Api接口请求队列
      {
        name: '/bfs/cfg/easipass-api',
        path: '/bfs/cfg/easipass-api',
        component: () => import('@njt/bfs/pages/basic/EasipassApi.vue'),
        meta: {needRight: 'Bfs.Cfg.SysConfig.EasipassApi.View'}
      },
      // 更改SAP库存状态
      {
        path: '/wms/inv/change-sap-stock-type',
        name: '/wms/inv/change-sap-stock-type',
        component: () => import('../pages/work/ChangeSapStockType.vue'),
        meta: {needRight: 'Wms.Inv.Inventory.ChangeSapStockType'}
      },
      // 库存短收
      {
        path: '/wms/inv/inventory-list',
        name: '/wms/inv/inventory-list',
        component: () => import('../pages/work/InventoryList.vue'),
        meta: {needRight: 'Wms.Inv.Inventory.View'}
      },

      // 出库管理
      {
        path: '/bfs/allocate/order',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/bfs/allocate/order',
            path: '',
            component: () => import('@njt/bfs/pages/work/OrderList.vue'),
            meta: {needRight: 'Bfs.FenBo.Order.View'}
          },
          {
            name: '/bfs/allocate/order/create',
            path: 'create',
            component: () => import('@njt/bfs/pages/work/Order.vue'),
            meta: {needRight: 'Bfs.FenBo.Order.Edit'}
          },
          {
            name: '/bfs/allocate/order/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/bfs/pages/work/Order.vue'),
            meta: {needRight: 'Bfs.FenBo.Order.Edit'}
          },
          {
            name: '/bfs/allocate/order/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/bfs/pages/work/Order.vue'),
            meta: {needRight: 'Bfs.FenBo.Order.View'}
          }
        ]
      },

      // 计费条目
      {
        path: '/bfs/bill/billing-item',
        name: '/bfs/bill/billing-item',
        component: () => import('@njt/bfs/pages/bill/BillingItem.vue'),
        meta: {needRight: 'Bfs.Bill.BillingItem.View'}
      },

      //计费策略
      {
        path: '/bfs/bill/billing-policy',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/bfs/bill/billing-policy',
            path: '',
            component: () => import('@njt/bfs/pages/bill/BillingPolicyList.vue'),
            meta: {needRight: 'Bfs.Bill.BillingPolicy.View'}
          },
          {
            name: '/bfs/bill/billing-policy/create',
            path: 'create',
            component: () => import('@njt/bfs/pages/bill/BillingPolicy.vue'),
            meta: {needRight: 'Bfs.Bill.BillingPolicy.Edit'}
          },
          {
            name: '/bfs/bill/billing-policy/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/bfs/pages/bill/BillingPolicy.vue'),
            meta: {needRight: 'Bfs.Bill.BillingPolicy.Edit'}
          },
          {
            name: '/bfs/bill/billing-policy/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/bfs/pages/bill/BillingPolicy.vue'),
            meta: {needRight: 'Bfs.Bill.BillingPolicy.View'}
          }
        ]
      },

      // 核销报表
      {
        name: '/bfs/report/inv-allocate',
        path: '/bfs/report/inv-allocate',
        component: () => import('@njt/bfs/pages/report/InvAllocate.vue'),
        meta: {needRight: 'Bfs.Rpt.InvAllocate.View'}
      },
      // 账单统计报表
      {
        name: '/bfs/report/bill-count',
        path: '/bfs/report/bill-count',
        component: () => import('@njt/bfs/pages/report/BillCountList.vue'),
        meta: {needRight: 'Bfs.Rpt.BillCount.View'}
      },

      //以口岸明细创建
      {
        path: '/bfs/trade/dec-line-in',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/bfs/trade/dec-line-in',
            path: '',
            component: () => import('@njt/bfs/pages/work/DecQueryForAsnLineList.vue'),
            meta: {needRight: 'Bfs.Port.AsnLineCreateWizard.View'}
          }
        ]
      },

      //以口岸主档整票创建
      {
        path: '/bfs/trade/dec-whole-in',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/bfs/trade/dec-whole-in',
            path: '',
            component: () => import('@njt/bfs/pages/work/DecQueryForAsnList.vue'),
            meta: {needRight: 'Bfs.Port.AsnCreateWizard.View'}
          }
        ]
      },

      // 整报分出出库单数据策略
      {
        path: '/bfs/data-rule/bibayonetout-data',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/bfs/data-rule/bibayonetout-data',
            path: '',
            component: () => import('@njt/bfs/pages/rule/BibayonetoutList.vue'),
            meta: {needRight: 'Bfs.DataRule.BibayonetoutData.View'}
          },
          {
            name: '/bfs/data-rule/bibayonetout-data/create',
            path: 'create',
            component: () => import('@njt/bfs/pages/rule/Bibayonetout.vue'),
            meta: {needRight: 'Bfs.DataRule.BibayonetoutData.Edit'}
          },
          {
            name: '/bfs/data-rule/bibayonetout-data/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/bfs/pages/rule/Bibayonetout.vue'),
            meta: {needRight: 'Bfs.DataRule.BibayonetoutData.Edit'}
          },
          {
            name: '/bfs/data-rule/bibayonetout-data/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/bfs/pages/rule/Bibayonetout.vue'),
            meta: {needRight: 'Bfs.DataRule.BibayonetoutData.View'}
          }
        ]
      },

      // 报关单数据策略
      {
        path: '/bfs/data-rule/dec-data',
        component: {render: () => h(RouterView)},
        children: [
          // 查看出货预配策略列表
          {
            name: '/bfs/data-rule/dec-data',
            path: '',
            component: () => import('@njt/bfs/pages/rule/RuleDecDataList.vue'),
            meta: {needRight: 'Bfs.DataRule.DecData.View'}
          },
          //创建
          {
            name: '/bfs/data-rule/dec-data/create',
            path: 'create',
            component: () => import('@njt/bfs/pages/rule/RuleDecData.vue'),
            meta: {needRight: 'Bfs.DataRule.DecData.Edit'}
          },
          {
            name: '/bfs/data-rule/dec-data/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/bfs/pages/rule/RuleDecData.vue'),
            meta: {needRight: 'Bfs.DataRule.DecData.Edit'}
          },
          {
            name: '/bfs/data-rule/dec-data/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/bfs/pages/rule/RuleDecData.vue'),
            meta: {needRight: 'Bfs.DataRule.DecData.View'}
          }
        ]
      },


      // 波次执行
      {
        name: '/wms/work/wave',
        path: '/wms/work/wave',
        component: () => import('@njt/wms/pages/work/WaveList.vue'),
        meta: {needRight: 'Wms.Work.Wave.View'}
      },

      // 波次规则
      {
        path: '/wms/rule/wave-rule',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/wms/rule/wave-rule',
            path: '',
            component: () => import('@njt/wms/pages/rule/WaveRuleList.vue'),
            meta: {needRight: 'Wms.Rule.WaveRule.View'}
          },
          //  创建
          {
            name: '/wms/rule/wave-rule/create',
            path: 'create',
            component: () => import('@njt/wms/pages/rule/WaveRule.vue'),
            meta: {needRight: 'Wms.Rule.WaveRule.Edit'}
          },
          //  详细
          {
            name: '/wms/rule/wave-rule/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/wms/pages/rule/WaveRule.vue'),
            meta: {needRight: 'Wms.Rule.WaveRule.View'}
          },
          //  修改
          {
            name: '/wms/rule/wave-rule/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/wms/pages/rule/WaveRule.vue'),
            meta: {needRight: 'Wms.Rule.WaveRule.Edit'}
          }
        ]
      },

      // 库存在贴标区超过10天数预警
      {
        name: '/wms/rpt/inv-in-the-labeled-zone-for-more-than-setting-days-warning',
        path: '/wms/rpt/inv-in-the-labeled-zone-for-more-than-setting-days-warning',
        component: () => import('pages/report/InvInTheLabeledZoneForMoreThanSettingDaysWarning.vue'),
        meta: {needRight: 'Wms.Rpt.Rpt.InvInTheLabeledZoneForMoreThanSettingDaysWarning'}
      },
      // 库存在已贴标区已清关库存预警
      {
        name: '/wms/rpt/send-inv-in-labeld-area-and-cleared-custom-rpt',
        path: '/wms/rpt/send-inv-in-labeld-area-and-cleared-custom-rpt',
        component: () => import('pages/report/InvInLabeledAreaAndClearedCustom.vue'),
        meta: {needRight: 'Wms.Rpt.Rpt.InvInLabeledAreaAndClearedCustom'}
      },
      // 已放行无需贴标合同预警
      {
        name: '/wms/rpt/send-inventory-move-ment-to-ob-rpt',
        path: '/wms/rpt/send-inventory-move-ment-to-ob-rpt',
        component: () => import('pages/report/InventoryMovementToOB.vue'),
        meta: {needRight: 'Wms.Rpt.Rpt.InventoryMovementToOB'}
      },
      // 已放行无需贴标合同预警
      {
        name: '/wms/rpt/labeling-contract-warning',
        path: '/wms/rpt/labeling-contract-warning',
        component: () => import('pages/report/LabelingContractWarning.vue'),
        meta: {needRight: 'Wms.Rpt.Rpt.ReleasedNeedlessLabelingContractWarning'}
      },
      // 入库和库存漏上架提示
      {
        name: '/wms/rpt/up-missing-of-in-remind-report',
        path: '/wms/rpt/up-missing-of-in-remind-report',
        component: () => import('pages/report/UpMissingOfInRemindReport.vue'),
        meta: {needRight: 'Wms.Rpt.Rpt.UpMissingOfInRemindReport'}
      },
      // 库存库位变动
      {
        name: '/wms/rpt/send-received-report',
        path: '/wms/rpt/send-received-report',
        component: () => import('pages/report/SendReceivedReport.vue'),
        meta: {needRight: 'Wms.Rpt.Rpt.DailyDoneReceivedAsnReport'}
      },

      // 库存库位变动
      {
        name: '/wms/rpt/send-changes-in-inv-report',
        path: '/wms/rpt/send-changes-in-inv-report',
        component: () => import('pages/report/SendChangesInInvReport.vue'),
        meta: {needRight: 'Wms.Rpt.Rpt.SendChangesInInv'}
      },

      // 移库漏上架提示
      {
        name: '/wms/rpt/up-missing-of-move-reminder',
        path: '/wms/rpt/up-missing-of-move-reminder',
        component: () => import('pages/report/UpMissingOfMoveReminder.vue'),
        meta: {needRight: 'Wms.Rpt.Rpt.UpMissingOfInRemindReport'}
      },

      // 每月入库托盘数量统计
      {
        name: '/wms/rpt/monthly-in-pallet-count',
        path: '/wms/rpt/monthly-in-pallet-count',
        component: () => import('pages/report/MonthlyInPalletCount.vue'),
        meta: {needRight: 'Wms.Rpt.Rpt.MonthlyInPalletCount'}
      },

      // 剩余库存报表
      {
        name: '/wms/rpt/inv-remaining',
        path: '/wms/rpt/inv-remaining',
        component: () => import('pages/report/InvRemaining.vue'),
        meta: {needRight: 'Wms.Rpt.Remaining.View'}
      },

      // 保税库存超期预警
      {
        name: '/bfs/report/bonded-inventory-over-months-warning',
        path: '/bfs/report/bonded-inventory-over-months-warning',
        component: () => import('pages/report/BondedInventoryOverMonthsWarning.vue')
      },

      // MH2库存汇总报表
      {
        name: '/bfs/report/inventory-summary-report',
        path: '/bfs/report/inventory-summary-report',
        component: () => import('pages/report/InventorySummary.vue')
      },

      // WCS任务
      {
        name: '/wms/task/rb',
        path: '/wms/task/rb',
        component: () => import('pages/work/RtList.vue'),
        meta: {needRight: 'Wms.Wcs.RobotTask.View'}
      },

      {
        name: '/comm/my/my-profile',
        path: '/comm/my/my-profile',
        component: () => import('@njt/foundation/pages/my/MyProfile.vue')
      },
      {
        name: '/comm/my/message',
        path: '/comm/my/message',
        component: () => import('@njt/foundation/pages/my/Message.vue')
      },
      {name: '/comm/cfg/about', path: '/comm/cfg/about', component: () => import('pages/cfg/About.vue')},

      // cfg
      {name: '/wms/cfg/sys-config', path: '/wms/cfg/sys-config', component: () => import('@njt/wms/pages/cfg/SysConfig.vue')},

      // 贴标异常上报/解除
      {
        name: '/wms/sku/labeling-abnormal',
        path: '/wms/sku/labeling-abnormal',
        component: () => import('pages/sku/LabelingAbnormal.vue'),
        meta: {needRight: 'Wms.Inv.Inventory.LabelingAbnormalView'}
      },

      // 入库明细报表
      {
        name: '/wms/rpt/asn-line-report',
        path: '/wms/rpt/asn-line-report',
        component: () => import('@njt/wms/pages/rpt/AsnLineReport.vue'),
        meta: {needRight: 'Wms.Rpt.AsnLineReport.View'}
      },
      // 入库汇总报表
      {
        name: '/wms/rpt/asn-summary-report',
        path: '/wms/rpt/asn-summary-report',
        component: () => import('@njt/wms/pages/rpt/AsnSummaryReport.vue'),
        meta: {needRight: 'Wms.Rpt.AsnSummaryReport.View'}
      },
      // 出库明细报表
      {
        name: '/wms/report/order-line-report',
        path: '/wms/report/order-line-report',
        component: () => import('@njt/wms/pages/rpt/OrderLineReport.vue'),
        meta: {needRight: 'Wms.Rpt.AsnLineReport.View'}
      },
      // 出库汇总报表
      {
        name: '/wms/report/order-summary-report',
        path: '/wms/report/order-summary-report',
        component: () => import('@njt/wms/pages/rpt/OrderSummaryReport.vue'),
        meta: {needRight: 'Wms.Rpt.OrderSummaryReport.View'}
      },
      // 库存报表
      {
        name: '/wms/rpt/inv-loc-report',
        path: '/wms/rpt/inv-loc-report',
        component: () => import('@njt/wms/pages/rpt/InvLocReport.vue'),
        meta: {needRight: 'Wms.Rpt.InvLocReport.View'}
      },
      // 库存异动看板
      {
        name: '/wms/rpt/inv-transcation-report',
        path: '/wms/rpt/inv-transcation-report',
        component: () => import('@njt/wms/pages/rpt/InvTranscationReport.vue'),
        meta: {needRight: 'Wms.Rpt.InvTranscationReport.View'}
      },
      // 库存盘点报表
      {
        name: '/wms/rpt/inv-check',
        path: '/wms/rpt/inv-check',
        component: () => import('pages/report/InvCheck.vue'),
        meta: {needRight: 'Wms.Rpt.Rpt.ExportInvCheckReport'}
      },

      // basic
      // 包装规格
      {
        path: '/wms/basic/package',
        component: {render: () => h(RouterView)},
        children: [
          // 查看包装规格列表
          {
            name: '/wms/basic/package',
            path: '',
            component: () => import('@njt/wms/pages/basic/PackageList.vue'),
            meta: {needRight: 'Wms.Basic.Package.View'}
          },
          // 创建包装规格
          {
            name: '/wms/basic/package/create',
            path: 'create',
            component: () => import('@njt/wms/pages/basic/Package.vue'),
            meta: {needRight: 'Wms.Basic.Brand.Edit'}
          },
          // 修改包装规格
          {
            name: '/wms/basic/package/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/wms/pages/basic/Package.vue'),
            meta: {needRight: 'Wms.Basic.Package.Edit'}
          },
          // 查看单个包装规格
          {
            name: '/wms/basic/package/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/wms/pages/basic/Package.vue'),
            meta: {needRight: 'Wms.Basic.Brand.View'}
          }
        ]
      },
      // 品牌管理
      {
        path: '/wms/basic/brand',
        component: {render: () => h(RouterView)},
        children: [
          // 查看品牌列表
          {
            name: '/wms/basic/brand',
            path: '',
            component: () => import('@njt/wms/pages/basic/BrandList.vue'),
            meta: {needRight: 'Wms.Basic.Brand.View'}
          },
          // 创建品牌
          {
            name: '/wms/basic/brand/create',
            path: 'create',
            component: () => import('@njt/wms/pages/basic/Brand.vue'),
            meta: {needRight: 'Wms.Basic.Brand.Edit'}
          },
          // 修改品牌
          {
            name: '/wms/basic/brand/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/wms/pages/basic/Brand.vue'),
            meta: {needRight: 'Wms.Basic.Brand.Edit'}
          },
          // 查看单个品牌
          {
            name: '/wms/basic/brand/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/wms/pages/basic/Brand.vue'),
            meta: {needRight: 'Wms.Basic.Brand.View'}
          }
        ]
      },
      // 仓库管理
      {
        path: '/wms/basic/wh',
        component: {render: () => h(RouterView)},
        children: [
          // 查看仓库列表
          {
            name: '/wms/basic/wh',
            path: '',
            component: () => import('@njt/wms/pages/basic/WhList.vue'),
            meta: {needRight: 'Wms.Basic.Wh.View'}
          },
          // 创建仓库
          {
            name: '/wms/basic/wh/create',
            path: 'create',
            component: () => import('@njt/wms/pages/basic/Wh.vue'),
            meta: {needRight: 'Wms.Basic.Wh.Edit'}
          },
          // 修改仓库
          {
            name: '/wms/basic/wh/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/wms/pages/basic/Wh.vue'),
            meta: {needRight: 'Wms.Basic.Wh.Edit'}
          },
          // 查看单个仓库
          {
            name: '/wms/basic/wh/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/wms/pages/basic/Wh.vue'),
            meta: {needRight: 'Wms.Basic.Wh.View'}
          }
        ]
      },
      // 储区管理
      {
        path: '/wms/basic/zone',
        component: {render: () => h(RouterView)},
        children: [
          // 查看储区列表
          {
            name: '/wms/basic/zone',
            path: '',
            component: () => import('@njt/wms/pages/basic/ZoneList.vue'),
            meta: {needRight: 'Wms.Basic.Zone.View'}
          },
          // 创建储区
          {
            name: '/wms/basic/zone/create',
            path: 'create',
            component: () => import('@njt/wms/pages/basic/Zone.vue'),
            meta: {needRight: 'Wms.Basic.Zone.Edit'}
          },
          // 修改储区
          {
            name: '/wms/basic/zone/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/wms/pages/basic/Zone.vue'),
            meta: {needRight: 'Wms.Basic.Zone.Edit'}
          },
          // 查看单个储区
          {
            name: '/wms/basic/zone/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/wms/pages/basic/Zone.vue'),
            meta: {needRight: 'Wms.Basic.Zone.View'}
          }
        ]
      },
      // 储位管理
      {
        path: '/wms/basic/loc',
        component: {render: () => h(RouterView)},
        children: [
          // 查看储位列表
          {
            name: '/wms/basic/loc',
            path: '',
            component: () => import('@njt/wms/pages/basic/LocList.vue'),
            meta: {needRight: 'Wms.Basic.Loc.View'}
          },
          // 创建储位
          {
            name: '/wms/basic/loc/create',
            path: 'create',
            component: () => import('@njt/wms/pages/basic/Loc.vue'),
            meta: {needRight: 'Wms.Basic.Loc.Edit'}
          },
          // 修改储位
          {
            name: '/wms/basic/loc/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/wms/pages/basic/Loc.vue'),
            meta: {needRight: 'Wms.Basic.Loc.Edit'}
          },
          // 查看单个储位
          {
            name: '/wms/basic/loc/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/wms/pages/basic/Loc.vue'),
            meta: {needRight: 'Wms.Basic.Loc.View'}
          }
        ]
      },

      // 贴标工单
      {
        path: '/wms/sku/work-order',
        component: {render: () => h(RouterView)},
        children: [
          // 查看列表
          {
            name: '/wms/sku/work-order',
            path: '',
            component: () => import('pages/sku/WorkOrderList.vue'),
            meta: {needRight: 'Wms.Inv.Inventory.LabelProcessView'}
          },
          // 查看单个
          {
            name: '/wms/sku/work-order/detail',
            path: 'detail/:itemId',
            component: () => import('pages/sku/WorkOrder.vue'),
            meta: {needRight: 'Wms.Inv.Inventory.LabelProcessView'}
          }
        ]
      },

      // 贴标工序管理
      {
        path: '/wms/sku/label-management',
        component: {render: () => h(RouterView)},
        children: [
          // 查看列表
          {
            name: '/wms/sku/label-management',
            path: '',
            component: () => import('pages/sku/LabelManagementList.vue'),
            meta: {needRight: 'Wms.Inv.Inventory.LabelProcessView'}
          },
          // 查看单个
          {
            name: '/wms/sku/label-management/detail',
            path: 'detail/:itemId',
            component: () => import('pages/sku/LabelManagement.vue'),
            meta: {needRight: 'Wms.Inv.Inventory.LabelProcessView'}
          }
        ]
      },

      // 料号管理
      {
        path: '/wms/basic/sku',
        component: {render: () => h(RouterView)},
        children: [
          // 查看储位列表
          {
            name: '/wms/basic/sku',
            path: '',
            component: () => import('@njt/wms/pages/basic/SkuList.vue'),
            meta: {needRight: 'Wms.Basic.Sku.View'}
          },
          // 创建储位
          {
            name: '/wms/basic/sku/create',
            path: 'create',
            component: () => import('pages/basic/Sku.vue'),
            meta: {needRight: 'Wms.Basic.Sku.Edit'}
          },
          // 修改储位
          {
            name: '/wms/basic/sku/edit',
            path: 'edit/:itemId',
            component: () => import('pages/basic/Sku.vue'),
            meta: {needRight: 'Wms.Basic.Sku.Edit'}
          },
          // 查看单个储位
          {
            name: '/wms/basic/sku/detail',
            path: 'detail/:itemId',
            component: () => import('pages/basic/Sku.vue'),
            meta: {needRight: 'Wms.Basic.Sku.View'}
          }
        ]
      },
      // 公司管理
      {
        path: '/comm/basic/company',
        component: {render: () => h(RouterView)},
        children: [
          // 查看公司列表
          {
            name: '/comm/basic/company',
            path: '',
            component: () => import('@njt/foundation/pages/basic/CompanyList.vue'),
            meta: {needRight: 'Comm.Company.View'}
          },
          // 创建公司
          {
            name: '/comm/basic/company/create',
            path: 'create',
            component: () => import('@njt/foundation/pages/basic/Company.vue'),
            meta: {needRight: 'Comm.Company.Edit'}
          },
          // 修改公司
          {
            name: '/comm/basic/company/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/foundation/pages/basic/Company.vue'),
            meta: {needRight: 'Comm.Company.Edit'}
          },
          // 查看单个公司
          {
            name: '/comm/basic/company/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/foundation/pages/basic/Company.vue'),
            meta: {needRight: 'Comm.Company.View'}
          }
        ]
      },
      //SAP material日志
      {
        path: '/sap/material-log',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/sap/material-log',
            path: '',
            component: () => import('../pages/sap/MaterialLogList.vue')
          },
          // 查看日志详情
          {
            name: '/sap/material-log/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/sap/MaterialLog.vue')
          }
        ]
      },
      {
        path: '/sap/sto',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/sap/sto',
            path: '',
            component: () => import('../pages/sap/StoList.vue')
          },
          // 查看日志详情
          {
            name: '/sap/sto/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/sap/Sto.vue')
          }
        ]
      },
      {
        path: '/sap/email-cfg',
        component: {render: () => h(RouterView)},
        children: [
          // 查看列表
          {
            name: '/sap/email-cfg',
            path: '',
            component: () => import('../pages/sap/SapEmailCfg.vue'),
            meta: {needRight: 'Bc.Email.View'}
          },
        ]
      },
      {
        path: '/sap/sto-gi',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/sap/sto-gi',
            path: '',
            component: () => import('../pages/sap/StoGIList.vue')
          },
          // 查看日志详情
          {
            name: '/sap/sto-gi/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/sap/StoGI.vue')
          }
        ]
      },
      {
        path: '/sap/sto-gc',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/sap/sto-gc',
            path: '',
            component: () => import('../pages/sap/StoGCList.vue')
          },
          // 查看日志详情
          {
            name: '/sap/sto-gc/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/sap/StoGC.vue')
          }
        ]
      },
      {
        path: '/sap/sto-gr',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/sap/sto-gr',
            path: '',
            component: () => import('../pages/sap/StoGRList.vue')
          },
          // 查看日志详情
          {
            name: '/sap/sto-gr/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/sap/StoGR.vue')
          }
        ]
      },
      {
        path: '/sap/ibd-gr',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/sap/ibd-gr',
            path: '',
            component: () => import('../pages/sap/IBDGRList.vue')
          },
          // 查看日志详情
          {
            name: '/sap/ibd-gr/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/sap/IBDGR.vue')
          }
        ]
      },
      //SAP Batch日志
      {
        path: '/sap/batch-log',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/sap/batch-log',
            path: '',
            component: () => import('../pages/sap/BatchLogList.vue')
          },
          // 查看日志详情
          {
            name: '/sap/batch-log/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/sap/BatchLog.vue')
          }
        ]
      },
      //SAP IBD
      {
        path: '/sap/ibd',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/sap/ibd',
            path: '',
            component: () => import('../pages/sap/IbdList.vue')
          },
          // 查看日志详情
          {
            name: '/sap/ibd/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/sap/Ibd.vue')
          }
        ]
      },
      //SAP OBD
      {
        path: '/sap/obd',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/sap/obd',
            path: '',
            component: () => import('../pages/sap/OBDList.vue')
          },
          // 查看日志详情
          {
            name: '/sap/obd/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/sap/OBD.vue')
          }
        ]
      },
      {
        path: '/sap/obd-pgi',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/sap/obd-pgi',
            path: '',
            component: () => import('../pages/sap/OBDPGIList.vue')
          },
          // 查看日志详情
          {
            name: '/sap/obd-pgi/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/sap/OBDPGI.vue')
          }
        ]
      },
      {
        path: '/sap/pick',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/sap/pick',
            path: '',
            component: () => import('../pages/sap/PickList.vue')
          },
          // 查看日志详情
          {
            name: '/sap/pick/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/sap/Pick.vue')
          }
        ]
      },
      {
        path: '/sap/inventory-adjustment',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/sap/inventory-adjustment',
            path: '',
            component: () => import('../pages/sap/InventoryAdjustmentList.vue')
          },
          // 查看日志详情
          {
            name: '/sap/inventory-adjustment/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/sap/InventoryAdjustment.vue')
          }
        ]
      },
      //SAP IBD GC
      {
        path: '/sap/ibd-gc',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/sap/ibd-gc',
            path: '',
            component: () => import('../pages/sap/IbdGCList.vue')
          },
          // 查看日志详情
          {
            name: '/sap/ibd-gc/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/sap/IbdGC.vue')
          }
        ]
      },
      //Stock Snapshot
      {
        path: '/sap/stock-snapshot',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/sap/stock-snapshot',
            path: '',
            component: () => import('../pages/sap/StockSnapshotList.vue')
          }
        ]
      },
      //IMS 报关发票日志
      {
        path: '/ims/declaration',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/ims/declaration',
            path: '',
            component: () => import('../pages/ims/DeclarationList.vue')
          },
          // 查看日志详情
          {
            name: '/ims/declaration/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/ims/Declaration.vue')
          }
        ]
      },
      //IMS OB合同日志
      {
        path: '/ims/ob-contract',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/ims/ob-contract',
            path: '',
            component: () => import('../pages/ims/ObContractList.vue')
          },
          // 查看日志详情
          {
            name: '/ims/ob-contract/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/ims/ObContract.vue')
          }
        ]
      },
      //IMS OB仓库收货清单
      {
        path: '/ims/ob-wh-receipt',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/ims/ob-wh-receipt',
            path: '',
            component: () => import('../pages/ims/ObWarehouseReceiptList.vue')
          },
          // 查看日志详情
          {
            name: '/ims/ob-wh-receipt/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/ims/ObWarehouseReceipt.vue')
          }
        ]
      },
      // OB合同撤销日志
      {
        name: '/ims/ob-contract-withdraw',
        path: '/ims/ob-contract-withdraw',
        component: () => import('pages/ims/ObContractWithdrawList.vue')
      },
      //IMS 报关发票反填列表
      {
        path: '/ims/dec-back-fill',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/ims/dec-back-fill',
            path: '',
            component: () => import('../pages/ims/DecBackFillList.vue')
          },
          // 查看日志详情
          {
            name: '/ims/dec-back-fill/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/ims/DecBackFill.vue')
          }
        ]
      },
      // 保税转仓翻天
      {
        path: '/ims/bonded-transfer-back-fill',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/ims/bonded-transfer-back-fill',
            path: '',
            component: () => import('../pages/ims/BondedTransferBackFillList.vue')
          },
          // 查看日志详情
          {
            name: '/ims/bonded-transfer-back-fill/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/ims/BondedTransferBackFill.vue')
          }
        ]
      },
      //IMS 保税转仓
      {
        path: '/ims/bonded-transfer',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/ims/bonded-transfer',
            path: '',
            component: () => import('../pages/ims/BondedTransferList.vue')
          },
          // 查看日志详情
          {
            name: '/ims/bonded-transfer/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/ims/BondedTransfer.vue')
          }
        ]
      },
      //加急日志
      {
        path: '/ims/expedited',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/ims/expedited',
            path: '',
            component: () => import('../pages/ims/ExpeditedList.vue')
          },
          // 查看日志详情
          {
            name: '/ims/expedited/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/ims/Expedited.vue')
          }
        ]
      },
      //SF 库存查询日志接口
      {
        path: '/sf/inv-query-log',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/sf/inv-query-log',
            path: '',
            component: () => import('../pages/sf/InvLogList.vue')
          },
          // 查看日志详情
          {
            name: '/sf/inv-query-log/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/sf/InvLog.vue')
          }
        ]
      },
      // 加急日志
      {
        path: '/sf/expedited',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/sf/expedited',
            path: '',
            component: () => import('../pages/sf/ExpeditedList.vue')
          },
          // 查看日志详情
          {
            name: '/sf/expedited/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/sf/Expedited.vue')
          }
        ]
      },
      // 托盘信息同步日志
      {
        path: '/sf/pallet-sync-log',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/sf/pallet-sync-log',
            path: '',
            component: () => import('../pages/sf/PalletSyncLogList.vue')
          },
          // 查看日志详情
          {
            name: '/sf/pallet-sync-log/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/sf/PalletSyncLog.vue')
          }
        ]
      },
      //叫料通知日志
      {
        path: '/sf/notify-material',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/sf/notify-material',
            path: '',
            component: () => import('../pages/sf/NotifyMaterialList.vue')
          },
          // 查看日志详情
          {
            name: '/sf/notify-material/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/sf/NotifyMaterial.vue')
          }
        ]
      },
      // 容器管理
      {
        path: '/wms/basic/lpn',
        component: {render: () => h(RouterView)},
        children: [
          // 查看列表
          {
            name: '/wms/basic/lpn',
            path: '',
            component: () => import('@njt/wms/pages/basic/LpnList.vue'),
            meta: {needRight: 'Wms.Basic.Lpn.View'}
          },
          // 创建
          {
            name: '/wms/basic/lpn/create',
            path: 'create',
            component: () => import('@njt/wms/pages/basic/Lpn.vue'),
            meta: {needRight: 'Wms.Basic.Lpn.Edit'}
          },
          // 修改
          {
            name: '/wms/basic/lpn/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/wms/pages/basic/Lpn.vue'),
            meta: {needRight: 'Wms.Basic.Lpn.Edit'}
          },
          // 查看单个
          {
            name: '/wms/basic/lpn/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/wms/pages/basic/Lpn.vue'),
            meta: {needRight: 'Wms.Basic.Lpn.View'}
          }
        ]
      },

      // 空托盘转移任务
      {
        path: '/wms/lpn/lpn-view',
        component: {render: () => h(RouterView)},
        children: [
          // 查看列表
          {
            name: '/wms/lpn/lpn-view',
            path: '',
            component: () => import('../pages/work/LpnView.vue'),
            meta: {needRight: 'Wms.Lpn.Lpn.View'}
          }
        ]
      },
      //保税托盘同步日志
      {
        path: '/sf/lpn-data-log',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/sf/lpn-data-log',
            path: '',
            component: () => import('../pages/sf/LpnDataLogList.vue')
          },
          // 查看日志详情
          {
            name: '/sf/lpn-data-log/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/sf/LpnDataLog.vue')
          }
        ]
      },

      //空托盘转移单日志
      {
        path: '/sf/lpn-move-log',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/sf/lpn-move-log',
            path: '',
            component: () => import('../pages/sf/LpnMoveLogList.vue')
          },
          // 查看日志详情
          {
            name: '/sf/lpn-move-log/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/sf/LpnMoveLog.vue')
          }
        ]
      },
      {
        path: '/sf/lpn-move-back-log',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/sf/lpn-move-back-log',
            path: '',
            component: () => import('../pages/sf/LpnMoveBackLogList.vue')
          },
          // 查看日志详情
          {
            name: '/sf/lpn-move-back-log/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/sf/LpnMoveBackLog.vue')
          }
        ]
      },
      // LMS工序主数据
      {
        path: '/lms/serial',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/lms/serial',
            path: '',
            component: () => import('../pages/lms/SerialList.vue')
          },
          // 查看日志详情
          {
            name: '/lms/serial/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/lms/Serial.vue')
          }
        ]
      },
      // LMS库存数据-增量
      {
        path: '/lms/inv-increment',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/lms/inv-increment',
            path: '',
            component: () => import('../pages/lms/InvIncrementList.vue')
          },
          // 查看日志详情
          {
            name: '/lms/inv-increment/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/lms/InvIncrement.vue')
          }
        ]
      },
      // 工单状态
      {
        path: '/lms/work-order-state',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/lms/work-order-state',
            path: '',
            component: () => import('../pages/lms/WorkOrderStateList.vue')
          },
          // 查看日志详情
          {
            name: '/lms/work-order-state/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/lms/WorkOrderState.vue')
          }
        ]
      },
      {
        path: '/lms/process',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/lms/process',
            path: '',
            component: () => import('../pages/lms/ProcessList.vue')
          },
          // 查看日志详情
          {
            name: '/lms/process/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/lms/Process.vue')
          }
        ]
      },
      {
        path: '/lms/process-update',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/lms/process-update',
            path: '',
            component: () => import('../pages/lms/ProcessUpdateList.vue')
          },
          // 查看日志详情
          {
            name: '/lms/process-update/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/lms/ProcessUpdate.vue')
          }
        ]
      },
      {
        path: '/lms/work-order',
        component: {render: () => h(RouterView)},
        children: [
          // 查看日志列表
          {
            name: '/lms/work-order',
            path: '',
            component: () => import('../pages/lms/WorkOrderList.vue')
          },
          // 查看日志详情
          {
            name: '/lms/work-order/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/lms/WorkOrder.vue')
          }
        ]
      },
      // LMS库存数据-全量
      {
        path: '/lms/inv',
        name: '/lms/inv',
        component: () => import('../pages/lms/InvList.vue')
      },
      // region BFS相关
      // 预览
      {
        path: '/bfs/work/printPreview',
        name: '/bfs/work/printPreview',
        component: () => import('@njt/bfs/pages/work/SasPassportPreview.vue')
      },
      //分拨作业
      {
        path: '/bfs/work/dec-jibao',
        name: '/bfs/work/dec-jibao',
        component: () => import('@njt/bfs/pages/work/JibaoDecCreateWizardList.vue'),
        meta: {needRight: 'Bfs.FenBo.JibaoDecCreateWizard.View'}
      },
// 核放单管理-入库
      {
        path: '/bfs/work/sas-passport-i',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/bfs/work/sas-passport-i',
            path: '',
            component: () => import('@njt/bfs/pages/work/SasPassportList.vue'),
            meta: {needRight: 'Bfs.GeneralIn.SasPassport.View'}
          },
          {
            name: '/bfs/work/sas-passport-i/create',
            path: 'create',
            component: () => import('@njt/bfs/pages/work/SasPassport.vue'),
            meta: {needRight: 'Bfs.GeneralIn.SasPassport.Edit'}
          },
          {
            name: '/bfs/work/sas-passport-i/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/bfs/pages/work/SasPassport.vue'),
            meta: {needRight: 'Bfs.GeneralIn.SasPassport.Edit'}
          },
          {
            name: '/bfs/work/sas-passport-i/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/bfs/pages/work/SasPassport.vue'),
            meta: {needRight: 'Bfs.GeneralIn.SasPassport.View'}
          }
        ]
      },
      // 核放单管理-出库
      {
        path: '/bfs/work/sas-passport-e',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/bfs/work/sas-passport-e',
            path: '',
            component: () => import('@njt/bfs/pages/work/SasPassportList.vue'),
            meta: {needRight: 'Bfs.GeneralOut.SasPassport.View'}
          },
          {
            name: '/bfs/work/sas-passport-e/create',
            path: 'create',
            component: () => import('@njt/bfs/pages/work/SasPassport.vue'),
            meta: {needRight: 'Bfs.GeneralOut.SasPassport.Edit'}
          },
          {
            name: '/bfs/work/sas-passport-e/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/bfs/pages/work/SasPassport.vue'),
            meta: {needRight: 'Bfs.GeneralOut.SasPassport.Edit'}
          },
          {
            name: '/bfs/work/sas-passport-e/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/bfs/pages/work/SasPassport.vue'),
            meta: {needRight: 'Bfs.GeneralOut.SasPassport.View'}
          }
        ]
      },

      // 核放单管理-分拨
      {
        path: '/bfs/work/sas-passport',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/bfs/work/sas-passport',
            path: '',
            component: () => import('@njt/bfs/pages/work/SasPassportList.vue'),
            meta: {needRight: 'Bfs.FenBo.SasPassport.View'}
          },
          {
            name: '/bfs/work/sas-passport/create',
            path: 'create',
            component: () => import('@njt/bfs/pages/work/SasPassport.vue'),
            meta: {needRight: 'Bfs.FenBo.SasPassport.Edit'}
          },
          {
            name: '/bfs/work/sas-passport/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/bfs/pages/work/SasPassport.vue'),
            meta: {needRight: 'Bfs.FenBo.SasPassport.Edit'}
          },
          {
            name: '/bfs/work/sas-passport/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/bfs/pages/work/SasPassport.vue'),
            meta: {needRight: 'Bfs.FenBo.SasPassport.View'}
          }
        ]
      },
// 金二出库单管理
      {
        path: '/bfs/allocate/sas-stock',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/bfs/allocate/sas-stock',
            path: '',
            component: () => import('@njt/bfs/pages/allocate/SasStockList.vue'),
            meta: {needRight: 'Bfs.FenBo.SasStock.View'}
          },
          {
            name: '/bfs/allocate/sas-stock/create',
            path: 'create',
            component: () => import('@njt/bfs/pages/allocate/SasStock.vue'),
            meta: {needRight: 'Bfs.FenBo.SasStock.Edit'}
          },
          {
            name: '/bfs/allocate/sas-stock/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/bfs/pages/allocate/SasStock.vue'),
            meta: {needRight: 'Bfs.FenBo.SasStock.Edit'}
          },
          {
            name: '/bfs/allocate/sas-stock/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/bfs/pages/allocate/SasStock.vue'),
            meta: {needRight: 'Bfs.FenBo.SasStock.View'}
          }
        ]
      },
// 出库管理
      {
        path: '/bfs/allocate/biz-declare',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/bfs/allocate/biz-declare',
            path: '',
            component: () => import('@njt/bfs/pages/allocate/BizDeclareList.vue'),
            meta: {needRight: 'Bfs.FenBo.BizDeclare.View'}
          },
          {
            name: '/bfs/allocate/biz-declare/create',
            path: 'create',
            component: () => import('@njt/bfs/pages/allocate/BizDeclare.vue'),
            meta: {needRight: 'Bfs.FenBo.BizDeclare.Edit'}
          },
          {
            name: '/bfs/allocate/biz-declare/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/bfs/pages/allocate/BizDeclare.vue'),
            meta: {needRight: 'Bfs.FenBo.BizDeclare.Edit'}
          },
          {
            name: '/bfs/allocate/biz-declare/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/bfs/pages/allocate/BizDeclare.vue'),
            meta: {needRight: 'Bfs.FenBo.BizDeclare.View'}
          }
        ]
      },


      // 出库管理
      {
        path: '/bfs/work/order',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/bfs/work/order',
            path: '',
            component: () => import('../pages/bfsWork/OrderList.vue'),
            meta: {needRight: 'Bfs.GeneralOut.Order.View'}
          },
          {
            name: '/bfs/work/order/create',
            path: 'create',
            component: () => import('../pages/bfsWork/Order.vue'),
            meta: {needRight: 'Bfs.GeneralOut.Order.Edit'}
          },
          {
            name: '/bfs/work/order/edit',
            path: 'edit/:itemId',
            component: () => import('../pages/bfsWork/Order.vue'),
            meta: {needRight: 'Bfs.GeneralOut.Order.Edit'}
          },
          {
            name: '/bfs/work/order/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/bfsWork/Order.vue'),
            meta: {needRight: 'Bfs.GeneralOut.Order.View'}
          }
        ]
      },
      //库存结转
      {
        path: '/bfs/inv/inv-transfer',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/bfs/inv/inv-transfer',
            path: '',
            component: () => import('@njt/bfs/pages/inv/InvTransferList.vue'),
            meta: {needRight: 'Bfs.Inv.InvTransfer.View'}
          },
          {
            name: '/bfs/inv/inv-transfer/create',
            path: 'create',
            component: () => import('@njt/bfs/pages/inv/InvTransfer.vue'),
            meta: {needRight: 'Bfs.Inv.InvTransfer.Edit'}
          },
          {
            name: '/bfs/inv/inv-transfer/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/bfs/pages/inv/InvTransfer.vue'),
            meta: {needRight: 'Bfs.Inv.InvTransfer.Edit'}
          },
          {
            name: '/bfs/inv/inv-transfer/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/bfs/pages/inv/InvTransfer.vue'),
            meta: {needRight: 'Bfs.Inv.InvTransfer.View'}
          }
        ]
      },
      // 库存冻结
      {
        path: '/bfs/inv/inv-hold',
        name: '/bfs/inv/inv-hold',
        component: () => import('@njt/bfs/pages/inv/InvHoldList.vue'),
        meta: {needRight: 'Bfs.Inv.Hold.View'}
      },
      //库存冻结/解冻日志
      {
        path: '/bfs/inv/inv-hold-log',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/bfs/inv/inv-hold-log',
            path: '',
            component: () => import('@njt/bfs/pages/inv/InvHoldLogList.vue'),
            meta: {needRight: 'Bfs.Inv.HoldReason.View'}
          },
          {
            name: '/bfs/inv/inv-hold-log/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/bfs/pages/inv/InvHoldLog.vue'),
            meta: {needRight: 'Bfs.Inv.HoldReason.View'}
          }
        ]
      },
      // 库存明细
      {
        name: '/bfs/inv/inv-line-list',
        path: '/bfs/inv/inv-line-list',
        component: () => import('@njt/bfs/pages/inv/InvLineList.vue'),
        meta: {needRight: 'Bfs.Inv.Inv.View'}
      },

      // 库存汇总
      {
        name: '/bfs/inv/inv-list',
        path: '/bfs/inv/inv-list',
        component: () => import('@njt/bfs/pages/inv/InvList.vue'),
        meta: {needRight: 'Bfs.Inv.Inv.View'}
      },
      // 账册管理
      {
        path: '/bfs/basic/cb',
        component: {render: () => h(RouterView)},
        children: [
          // 查看账册列表
          {
            name: '/bfs/basic/cb',
            path: '',
            component: () => import('@njt/bfs/pages/basic/CbList.vue'),
            meta: {needRight: 'Bfs.Basic.Cb.View'}
          },
          //创建
          {
            name: '/bfs/basic/cb/create',
            path: 'create',
            component: () => import('@njt/bfs/pages/basic/Cb.vue'),
            meta: {needRight: 'Bfs.Basic.Cb.Edit'}
          },
          {
            name: '/bfs/basic/cb/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/bfs/pages/basic/Cb.vue'),
            meta: {needRight: 'Bfs.Basic.Cb.Edit'}
          },
          {
            name: '/bfs/basic/cb/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/bfs/pages/basic/Cb.vue'),
            meta: {needRight: 'Bfs.Basic.Cb.View'}
          }
        ]
      },
      // 料号管理
      {
        path: '/bfs/basic/sku',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/bfs/basic/sku',
            path: '',
            component: () => import('@njt/bfs/pages/basic/SkuList.vue'),
            meta: {needRight: 'Bfs.Basic.Sku.View'}
          },
          {
            name: '/bfs/basic/sku/create',
            path: 'create',
            component: () => import('@njt/bfs/pages/basic/Sku.vue'),
            meta: {needRight: 'Bfs.Basic.Sku.Edit'}
          },
          {
            name: '/bfs/basic/sku/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/bfs/pages/basic/Sku.vue'),
            meta: {needRight: 'Bfs.Basic.Sku.Edit'}
          },
          {
            name: '/bfs/basic/sku/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/bfs/pages/basic/Sku.vue'),
            meta: {needRight: 'Bfs.Basic.Sku.View'}
          }
        ]
      },
//经营范围管理
      {
        path: '/bfs/basic/gitem',
        component: {render: () => h(RouterView)},
        children: [
          // 查看账册列表
          {
            name: '/bfs/basic/gitem',
            path: '',
            component: () => import('@njt/bfs/pages/basic/GitemList.vue'),
            meta: {needRight: 'Bfs.Basic.Gitem.View'}
          },
          //创建
          {
            name: '/bfs/basic/gitem/create',
            path: 'create',
            component: () => import('@njt/bfs/pages/basic/Gitem.vue'),
            meta: {needRight: 'Bfs.Basic.Gitem.Edit'}
          },
          {
            name: '/bfs/basic/gitem/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/bfs/pages/basic/Gitem.vue'),
            meta: {needRight: 'Bfs.Basic.Gitem.Edit'}
          },
          {
            name: '/bfs/basic/gitem/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/bfs/pages/basic/Gitem.vue'),
            meta: {needRight: 'Bfs.Basic.Gitem.View'}
          }
        ]
      },
      //车辆管理
      {
        path: '/bfs/basic/vehicle',
        component: {render: () => h(RouterView)},
        children:[
          {
            name: '/bfs/basic/vehicle',
            path: '',
            component: () => import('@njt/bfs/pages/basic/VehicleList.vue'),
            meta: {needRight: 'Bfs.Basic.Vehicle.View'}
          },
          {
            name: '/bfs/basic/vehicle/create',
            path: 'create',
            component: () => import('@njt/bfs/pages/basic/Vehicle.vue'),
            meta: {needRight: 'Bfs.Basic.Vehicle.Edit'}
          },
          {
            name: '/bfs/basic/vehicle/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/bfs/pages/basic/Vehicle.vue'),
            meta: {needRight: 'Bfs.Basic.Vehicle.Edit'}
          },
          {
            name: '/bfs/basic/vehicle/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/bfs/pages/basic/Vehicle.vue'),
            meta: {needRight: 'Bfs.Basic.Vehicle.View'}
          }
        ]
      },
      //备案序号管理
      {
        path: '/bfs/basic/jin2-beian',
        component: {render: () => h(RouterView)},
        children: [
          // 备案序号列表
          {
            name: '/bfs/basic/jin2-beian',
            path: '',
            component: () => import('@njt/bfs/pages/basic/Jin2BeianNoList.vue'),
            meta: {needRight: 'Bfs.Basic.Jin2BeianNo.View'}
          },
          //创建
          {
            name: '/bfs/basic/jin2-beian/create',
            path: 'create',
            component: () => import('@njt/bfs/pages/basic/Jin2BeianNo.vue'),
            meta: {needRight: 'Bfs.Basic.Jin2BeianNo.Edit'}
          },
          {
            name: '/bfs/basic/jin2-beian/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/bfs/pages/basic/Jin2BeianNo.vue'),
            meta: {needRight: 'Bfs.Basic.Jin2BeianNo.Edit'}
          },
          {
            name: '/bfs/basic/jin2-beian/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/bfs/pages/basic/Jin2BeianNo.vue'),
            meta: {needRight: 'Bfs.Basic.Jin2BeianNo.View'}
          }
        ]
      },
      // 核注清单数据策略
      {
        path: '/bfs/data-rule/bondinvt-data',
        component: {render: () => h(RouterView)},
        children: [
          // 查看出货预配策略列表
          {
            name: '/bfs/data-rule/bondinvt-data',
            path: '',
            component: () => import('@njt/bfs/pages/rule/BondinvtDataList.vue'),
            meta: {needRight: 'Bfs.DataRule.BondinvtData.View'}
          },
          //创建
          {
            name: '/bfs/data-rule/bondinvt-data/create',
            path: 'create',
            component: () => import('@njt/bfs/pages/rule/BondinvtData.vue'),
            meta: {needRight: 'Bfs.DataRule.BondinvtData.Edit'}
          },
          {
            name: '/bfs/data-rule/bondinvt-data/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/bfs/pages/rule/BondinvtData.vue'),
            meta: {needRight: 'Bfs.DataRule.BondinvtData.Edit'}
          },
          {
            name: '/bfs/data-rule/bondinvt-data/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/bfs/pages/rule/BondinvtData.vue'),
            meta: {needRight: 'Bfs.DataRule.BondinvtData.View'}
          }
        ]
      },
      // 金二出入库单数据策略
      {
        path: '/bfs/data-rule/sas-stock-data',
        component: {render: () => h(RouterView)},
        children: [
          // 查看出货预配策略列表
          {
            name: '/bfs/data-rule/sas-stock-data',
            path: '',
            component: () => import('@njt/bfs/pages/rule/SasStockDataList.vue'),
            meta: {needRight: 'Bfs.DataRule.SasStockData.View'}
          },
          //创建
          {
            name: '/bfs/data-rule/sas-stock-data/create',
            path: 'create',
            component: () => import('@njt/bfs/pages/rule/SasStockData.vue'),
            meta: {needRight: 'Bfs.DataRule.SasStockData.Edit'}
          },
          {
            name: '/bfs/data-rule/sas-stock-data/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/bfs/pages/rule/SasStockData.vue'),
            meta: {needRight: 'Bfs.DataRule.SasStockData.Edit'}
          },
          {
            name: '/bfs/data-rule/sas-stock-data/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/bfs/pages/rule/SasStockData.vue'),
            meta: {needRight: 'Bfs.DataRule.SasStockData.View'}
          }
        ]
      },
// 出货预配策略
      {
        path: '/bfs/rule/allocate',
        component: {render: () => h(RouterView)},
        children: [
          // 查看出货预配策略列表
          {
            name: '/bfs/rule/allocate',
            path: '',
            component: () => import('@njt/bfs/pages/rule/RuleAllocateList.vue'),
            meta: {needRight: 'Bfs.Rule.RuleAllocate.View'}
          },
          //创建
          {
            name: '/bfs/rule/allocate/create',
            path: 'create',
            component: () => import('@njt/bfs/pages/rule/RuleAllocate.vue'),
            meta: {needRight: 'Bfs.Rule.RuleAllocate.Edit'}
          },
          {
            name: '/bfs/rule/allocate/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/bfs/pages/rule/RuleAllocate.vue'),
            meta: {needRight: 'Bfs.Rule.RuleAllocate.Edit'}
          },
          {
            name: '/bfs/rule/allocate/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/bfs/pages/rule/RuleAllocate.vue'),
            meta: {needRight: 'Bfs.Rule.RuleAllocate.View'}
          }
        ]
      },
      // 进境、出口报关单创建策略
      {
        path: '/bfs/rule/dec-in',
        component: {render: () => h(RouterView)},
        children: [
          // 查看进境、出口报关单策略列表
          {
            name: '/bfs/rule/dec-in',
            path: '',
            component: () => import('@njt/bfs/pages/rule/RuleDecInList.vue'),
            meta: {needRight: 'Bfs.Rule.RuleDecIn.View'}
          },
          //创建
          {
            name: '/bfs/rule/dec-in/create',
            path: 'create',
            component: () => import('@njt/bfs/pages/rule/RuleDecIn.vue'),
            meta: {needRight: 'Bfs.Rule.RuleDecIn.Edit'}
          },
          {
            name: '/bfs/rule/dec-in/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/bfs/pages/rule/RuleDecIn.vue'),
            meta: {needRight: 'Bfs.Rule.RuleDecIn.Edit'}
          },
          {
            name: '/bfs/rule/dec-in/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/bfs/pages/rule/RuleDecIn.vue'),
            meta: {needRight: 'Bfs.Rule.RuleDecIn.View'}
          }
        ]
      },
      // 出境、进口报关单创建策略
      {
        path: '/bfs/rule/dec-out',
        component: {render: () => h(RouterView)},
        children: [
          // 查看出境、进口报关单创建策略列表
          {
            name: '/bfs/rule/dec-out',
            path: '',
            component: () => import('@njt/bfs/pages/rule/RuleDecOutList.vue'),
            meta: {needRight: 'Bfs.Rule.RuleDecOut.View'}
          },
          //创建
          {
            name: '/bfs/rule/dec-out/create',
            path: 'create',
            component: () => import('@njt/bfs/pages/rule/RuleDecOut.vue'),
            meta: {needRight: 'Bfs.Rule.RuleDecOut.Edit'}
          },
          {
            name: '/bfs/rule/dec-out/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/bfs/pages/rule/RuleDecOut.vue'),
            meta: {needRight: 'Bfs.Rule.RuleDecOut.Edit'}
          },
          {
            name: '/bfs/rule/dec-out/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/bfs/pages/rule/RuleDecOut.vue'),
            meta: {needRight: 'Bfs.Rule.RuleDecOut.View'}
          }
        ]
      },
      // 小数位控制规则
      {
        path: '/bfs/rule/decimal-digits',
        component: {render: () => h(RouterView)},
        children: [
          // 查看小数位控制规则列表
          {
            name: '/bfs/rule/decimal-digits',
            path: '',
            component: () => import('@njt/bfs/pages/rule/RuleDecimalDigitsList.vue'),
            meta: {needRight: 'Bfs.Rule.DecimalDigits.View'}
          },
          //创建
          {
            name: '/bfs/rule/decimal-digits/create',
            path: 'create',
            component: () => import('@njt/bfs/pages/rule/RuleDecimalDigits.vue'),
            meta: {needRight: 'Bfs.Rule.DecimalDigits.Edit'}
          },
          {
            name: '/bfs/rule/decimal-digits/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/bfs/pages/rule/RuleDecimalDigits.vue'),
            meta: {needRight: 'Bfs.Rule.DecimalDigits.Edit'}
          },
          {
            name: '/bfs/rule/decimal-digits/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/bfs/pages/rule/RuleDecimalDigits.vue'),
            meta: {needRight: 'Bfs.Rule.DecimalDigits.View'}
          }
        ]
      },
      // 金二出入库单创建规则
      {
        path: '/bfs/rule/jin2-in',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/bfs/rule/jin2-in',
            path: '',
            component: () => import('@njt/bfs/pages/rule/RuleJin2InList.vue'),
            meta: {needRight: 'Bfs.Rule.DecimalDigits.View'}
          },
          //创建
          {
            name: '/bfs/rule/jin2-in/create',
            path: 'create',
            component: () => import('@njt/bfs/pages/rule/RuleJin2In.vue'),
            meta: {needRight: 'Bfs.Rule.Jin2In.Edit'}
          },
          {
            name: '/bfs/rule/jin2-in/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/bfs/pages/rule/RuleJin2In.vue'),
            meta: {needRight: 'Bfs.Rule.Jin2In.Edit'}
          },
          {
            name: '/bfs/rule/jin2-in/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/bfs/pages/rule/RuleJin2In.vue'),
            meta: {needRight: 'Bfs.Rule.Jin2In.View'}
          }
        ]
      },
      // 核注清单创建规则
      {
        path: '/bfs/rule/bondinvt',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/bfs/rule/bondinvt',
            path: '',
            component: () => import('@njt/bfs/pages/rule/RuleBondinvtList.vue'),
            meta: {needRight: 'Bfs.Rule.Bondinvt.View'}
          },
          //创建
          {
            name: '/bfs/rule/bondinvt/create',
            path: 'create',
            component: () => import('@njt/bfs/pages/rule/RuleBondinvt.vue'),
            meta: {needRight: 'Bfs.Rule.Bondinvt.Edit'}
          },
          {
            name: '/bfs/rule/bondinvt/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/bfs/pages/rule/RuleBondinvt.vue'),
            meta: {needRight: 'Bfs.Rule.Bondinvt.Edit'}
          },
          {
            name: '/bfs/rule/bondinvt/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/bfs/pages/rule/RuleBondinvt.vue'),
            meta: {needRight: 'Bfs.Rule.Bondinvt.View'}
          }
        ]
      },
      // 系统开关配置规则
      {
        path: '/bfs/rule/switch',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/bfs/rule/switch',
            path: '',
            component: () => import('@njt/bfs/pages/rule/RuleSwitchList.vue'),
            meta: {needRight: 'Bfs.Rule.Switch.View'}
          },
          //创建
          {
            name: '/bfs/rule/switch/create',
            path: 'create',
            component: () => import('@njt/bfs/pages/rule/RuleSwitch.vue'),
            meta: {needRight: 'Bfs.Rule.Switch.Edit'}
          },
          {
            name: '/bfs/rule/switch/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/bfs/pages/rule/RuleSwitch.vue'),
            meta: {needRight: 'Bfs.Rule.Switch.Edit'}
          },
          {
            name: '/bfs/rule/switch/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/bfs/pages/rule/RuleSwitch.vue'),
            meta: {needRight: 'Bfs.Rule.Switch.View'}
          }
        ]
      },
      //规则配置
      {
        name: '/bfs/rule/ruleconfig',
        path: '/bfs/rule/ruleconfig',
        component: () => import('@njt/bfs/pages/rule/RuleConfig.vue'),
        meta: {needRight: 'Bfs.Rule.RuleConfig.View'}
      },
      // 海关商品编码
      {
        path: '/customs/complex',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/customs/complex',
            path: '',
            component: () => import('@njt/customs/pages/customs/ComplexList.vue'),
            meta: {needRight: 'Customs.BasicData.View'}
          },
          {
            name: '/customs/complex/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/customs/pages/customs/Complex.vue'),
            meta: {needRight: 'Customs.BasicData.View'}
          },
        ]
      },
      // 商检信息
      {
        path: '/customs/ciq',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/customs/ciq',
            path: '',
            component: () => import('@njt/customs/pages/customs/CiqCodeList.vue'),
            meta: {needRight: 'Customs.BasicData.View'}
          },
          {
            name: '/customs/ciq/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/customs/pages/customs/CiqCode.vue'),
            meta: {needRight: 'Customs.BasicData.View'}
          },
        ]
      },
      // 申报要素
      {
        path: '/customs/classify',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/customs/classify',
            path: '',
            component: () => import('@njt/customs/pages/customs/ClassifyList.vue'),
            meta: {needRight: 'Customs.BasicData.View'}
          },
          {
            name: '/customs/classify/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/customs/pages/customs/Classify.vue'),
            meta: {needRight: 'Customs.BasicData.View'}
          },
        ]
      },
      {
        path: '/customs/import',
        name: '/customs/import',
        component: () => import('@njt/customs/pages/customs/CustomsImport.vue'),
        meta: { needRight: 'Customs.BasicData.Edit' }
      },
      //货主保证金管理
      {
        path: '/bfs/allocate/storer-deposit',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/bfs/allocate/storer-deposit',
            path: '',
            component: () => import('@njt/bfs/pages/allocate/StorerDepositMgrList.vue'),
            meta: {needRight: 'Bfs.Basic.StorerDeposit.View'}
          },
          {
            name: '/bfs/allocate/storer-deposit/create',
            path: 'create',
            component: () => import('@njt/bfs/pages/allocate/StorerDepositMgr.vue'),
            meta: {needRight: 'Bfs.Basic.StorerDeposit.Edit'}
          },
          {
            name: '/bfs/allocate/storer-deposit/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/bfs/pages/allocate/StorerDepositMgr.vue'),
            meta: {needRight: 'Bfs.Basic.StorerDeposit.View'}
          },
          {
            name: '/bfs/allocate/storer-deposit/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/bfs/pages/allocate/StorerDepositMgr.vue'),
            meta: {needRight: 'Bfs.Basic.StorerDeposit.View'}
          },
        ]
      },
      //普通入库-入库管理
      {
        path: '/bfs/work/asn',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/bfs/work/asn',
            path: '',
            component: () => import('/src/pages/bfsWork/AsnList.vue'),
            meta: {needRight: 'Bfs.GeneralIn.Asn.View'}
          },
          {
            name: '/bfs/work/asn/create',
            path: 'create',
            component: () => import('/src/pages/bfsWork/Asn.vue'),
            meta: {needRight: 'Bfs.GeneralIn.Asn.Edit'}
          },
          {
            name: '/bfs/work/asn/edit',
            path: 'edit/:itemId',
            component: () => import('/src/pages/bfsWork/Asn.vue'),
            meta: {needRight: 'Bfs.GeneralIn.Asn.Edit'}
          },
          {
            name: '/bfs/work/asn/detail',
            path: 'detail/:itemId',
            component: () => import('/src/pages/bfsWork/Asn.vue'),
            meta: {needRight: 'Bfs.GeneralIn.Asn.View'}
          }
        ]
      },
      // 一般贸易-口岸管理
      {
        path: '/bfs/trade/asn',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/bfs/trade/asn',
            path: '',
            component: () => import('/src/pages/bfsWork/AsnList.vue'),
            meta: {needRight: 'Bfs.Port.Asn.View'}
          },
          {
            name: '/bfs/trade/asn/create',
            path: 'create',
            component: () => import('@njt/bfs/pages/work/Asn.vue'),
            meta: {needRight: 'Bfs.Port.Asn.Edit'}
          },
          {
            name: '/bfs/trade/asn/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/bfs/pages/work/Asn.vue'),
            meta: {needRight: 'Bfs.Port.Asn.Edit'}
          },
          {
            name: '/bfs/trade/asn/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/bfs/pages/work/Asn.vue'),
            meta: {needRight: 'Bfs.Port.Asn.View'}
          }
        ]
      },
      //分拨作业-入库管理
      {
        path: '/bfs/allocate/asn',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/bfs/allocate/asn',
            path: '',
            component: () => import('/src/pages/bfsWork/AsnList.vue'),
            meta: {needRight: 'Bfs.FenBo.Asn.View'}
          },
          {
            name: '/bfs/allocate/asn/create',
            path: 'create',
            component: () => import('@njt/bfs/pages/work/Asn.vue'),
            meta: {needRight: 'Bfs.FenBo.Asn.Edit'}
          },
          {
            name: '/bfs/allocate/asn/edit',
            path: 'edit/:itemId',
            component: () => import('@njt/bfs/pages/work/Asn.vue'),
            meta: {needRight: 'Bfs.FenBo.Asn.Edit'}
          },
          {
            name: '/bfs/allocate/asn/detail',
            path: 'detail/:itemId',
            component: () => import('@njt/bfs/pages/work/Asn.vue'),
            meta: {needRight: 'Bfs.FenBo.Asn.View'}
          }
        ]
      },
      //报关单管理
      {
        path: '/bfs/work/in-dec',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/bfs/work/in-dec',
            path: '',
            component: () => import('@njt/bfs/pages/work/DecList.vue'),
            meta: {needRight: 'Bfs.GeneralIn.InDec.View'}
          },
          {
            name: '/bfs/work/in-dec/edit',
            path: 'edit/:itemId',
            component: () => import('src/pages/work/Dec.vue'),
            meta: {needRight: 'Bfs.GeneralIn.InDec.Edit'}
          },
          {
            name: '/bfs/work/in-dec/detail',
            path: 'detail/:itemId',
            component: () => import('src/pages/work/Dec.vue'),
            meta: {needRight: 'Bfs.GeneralIn.InDec.View'}
          }
        ]
      },
      //出库报关单管理
      {
        path: '/bfs/work/out-dec',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/bfs/work/out-dec',
            path: '',
            component: () => import('@njt/bfs/pages/work/DecList.vue'),
            meta: {needRight: 'Bfs.GeneralOut.OutDec.View'}
          },
          {
            name: '/bfs/work/out-dec/edit',
            path: 'edit/:itemId',
            component: () => import('src/pages/work/Dec.vue'),
            meta: {needRight: 'Bfs.GeneralOut.OutDec.Edit'}
          },
          {
            name: '/bfs/work/out-dec/detail',
            path: 'detail/:itemId',
            component: () => import('src/pages/work/Dec.vue'),
            meta: {needRight: 'Bfs.GeneralOut.OutDec.View'}
          }
        ]
      },
      //一般贸易-报关单管理
      {
        path: '/bfs/trade/dec',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/bfs/trade/dec',
            path: '',
            component: () => import('@njt/bfs/pages/work/DecList.vue'),
            meta: {needRight: 'Bfs.Port.InDec.View'}
          },
          {
            name: '/bfs/trade/dec/edit',
            path: 'edit/:itemId',
            component: () => import('src/pages/work/Dec.vue'),
            meta: {needRight: 'Bfs.Port.InDec.Edit'}
          },
          {
            name: '/bfs/trade/dec/detail',
            path: 'detail/:itemId',
            component: () => import('src/pages/work/Dec.vue'),
            meta: {needRight: 'Bfs.Port.InDec.View'}
          }
        ]
      },
      //分拨作业-集报管理
      {
        path: '/bfs/allocate/dec',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/bfs/allocate/dec',
            path: '',
            component: () => import('@njt/bfs/pages/work/DecList.vue'),
            meta: {needRight: 'Bfs.FenBo.JiBaoDec.View'}
          },
          {
            name: '/bfs/allocate/dec/edit',
            path: 'edit/:itemId',
            component: () => import('src/pages/work/Dec.vue'),
            meta: {needRight: 'Bfs.FenBo.JiBaoDec.Edit'}
          },
          {
            name: '/bfs/allocate/dec/detail',
            path: 'detail/:itemId',
            component: () => import('src/pages/work/Dec.vue'),
            meta: {needRight: 'Bfs.FenBo.JiBaoDec.View'}
          }
        ]
      },
      //已入库单整票创建
      {
        path: '/bfs/work/dec-whole-in',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/bfs/work/dec-whole-in',
            path: '',
            component: () => import('@njt/bfs/pages/work/DecQueryForAsnList.vue'),
            meta: {needRight: 'Bfs.GeneralIn.AsnCreateWizard.View'}
          }
        ]
      },
      //已入库单明细创建
      {
        path: '/bfs/work/dec-line-in',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/bfs/work/dec-line-in',
            path: '',
            component: () => import('@njt/bfs/pages/work/DecQueryForAsnLineList.vue'),
            meta: {needRight: 'Bfs.GeneralIn.AsnLineCreateWizard.View'}
          }
        ]
      },
      //已出库单整票创建
      {
        path: '/bfs/work/dec-whole-out',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/bfs/work/dec-whole-out',
            path: '',
            component: () => import('@njt/bfs/pages/work/DecQueryForOrderList.vue'),
            meta: {needRight: 'Bfs.GeneralOut.OrderCreateWizard.View'}
          }
        ]
      },
      //已入库单明细创建
      {
        path: '/bfs/work/dec-line-out',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/bfs/work/dec-line-out',
            path: '',
            component: () => import('@njt/bfs/pages/work/DecQueryForOrderLineList.vue'),
            meta: {needRight: 'Bfs.GeneralOut.OrderLineCreateWizard.View'}
          }
        ]
      },
      // 汇率管理
      {
        path: '/bfs/basic/exchange',
        component: {render: () => h(RouterView)},
        children: [
          // 查看汇率列表
          {
            name: '/bfs/basic/exchange',
            path: '',
            component: () => import('../pages/basic/ExchangeList.vue'),
            meta: {needRight: 'Comm.Exchange.View'}
          },
          // 创建汇率
          {
            name: '/bfs/basic/exchange/create',
            path: '/bfs/basic/exchange/create',
            component: () => import('@njt/foundation/pages/basic/Exchange.vue'),
            meta: {needRight: 'Comm.Exchange.Edit'}
          },
          // 查看汇率
          {
            name: '/bfs/basic/exchange/detail',
            path: '/bfs/basic/exchange/detail/:itemId',
            component: () => import('@njt/foundation/pages/basic/Exchange.vue'),
            meta: {needRight: 'Comm.Exchange.View'}
          },
          // 编辑汇率
          {
            name: '/bfs/basic/exchange/edit',
            path: '/bfs/basic/exchange/edit/:itemId',
            component: () => import('@njt/foundation/pages/basic/Exchange.vue'),
            meta: {needRight: 'Comm.Exchange.Edit'}
          }
        ]
      },
      // 系统配置项
      {
        name: '/bfs/cfg/sys-config',
        path: '/bfs/cfg/sys-config',
        component: () => import('@njt/bfs/pages/config/SysConfig.vue'),
        meta: {needRight: 'Bfs.Cfg.SysConfig.View'}
      },
      // endregion
      //快递单
      {
        name: '/wms/work/express',
        path: '/wms/work/express/',
        component: () => import('@njt/wms/pages/work/ExpressList.vue'),
        meta: {needRight: 'Wms.Work.Order.ExpressOrderView'}
      },


      // 用户管理
      {
        path: '/comm/cfg/user',
        component: {render: () => h(RouterView)},
        children: [
          // 查看用户列表
          {
            name: '/comm/cfg/user',
            path: '',
            component: () => import('@njt/foundation/pages/cfg/UserList.vue'),
            meta: {needRight: 'Comm.UserMgr.View'}
          },
          // 创建用户
          {
            name: '/comm/cfg/user/create',
            path: 'create',
            component: () => import('../pages/cfg/User.vue'),
            meta: {needRight: 'Comm.UserMgr.Edit'}
          },
          // 修改用户
          {
            name: '/comm/cfg/user/edit',
            path: 'edit/:itemId',
            component: () => import('../pages/cfg/User.vue'),
            meta: {needRight: 'Comm.UserMgr.Edit'}
          },
          // 查看单个用户
          {
            name: '/comm/cfg/user/detail',
            path: 'detail/:itemId',
            component: () => import('../pages/cfg/User.vue'),
            meta: {needRight: 'Comm.UserMgr.View'}
          }
        ]
      },
      // 汇率管理
      {
        path: '/comm/basic/exchange',
        component: {render: () => h(RouterView)},
        children: [
          // 查看汇率列表
          {
            name: '/comm/basic/exchange',
            path: '',
            component: () => import('@njt/foundation/pages/basic/ExchangeList.vue'),
            meta: {needRight: 'Comm.Exchange.View'}
          },
          // 创建汇率
          {
            name: '/comm/basic/exchange/create',
            path: '/comm/basic/exchange/create',
            component: () => import('@njt/foundation/pages/basic/Exchange.vue'),
            meta: {needRight: 'Comm.Exchange.Edit'}
          },
          // 查看汇率
          {
            name: '/comm/basic/exchange/detail',
            path: '/comm/basic/exchange/detail/:itemId',
            component: () => import('@njt/foundation/pages/basic/Exchange.vue'),
            meta: {needRight: 'Comm.Exchange.View'}
          },
          // 编辑汇率
          {
            name: '/comm/basic/exchange/edit',
            path: '/comm/basic/exchange/edit/:itemId',
            component: () => import('@njt/foundation/pages/basic/Exchange.vue'),
            meta: {needRight: 'Comm.Exchange.Edit'}
          }
        ]
      },
      // 客商管理
      {
        path: '/comm/basic/mf',
        component: {render: () => h(RouterView)},
        children: [
          // 查看客商列表
          {
            name: '/comm/basic/mf',
            path: '',
            component: () => import('../pages/basic/MfList.vue'),
            meta: {needRight: 'Comm.Mf.View'}
          },
          // 创建客商
          {
            name: '/comm/basic/mf/create',
            path: '/comm/basic/mf/create',
            component: () => import('../pages/basic/Mf.vue'),
            meta: {needRight: 'Comm.Mf.Edit'}
          },
          // 查看客商
          {
            name: '/comm/basic/mf/detail',
            path: '/comm/basic/mf/detail/:itemId',
            component: () => import('../pages/basic/Mf.vue'),
            meta: {needRight: 'Comm.Mf.View'}
          },
          // 编辑客商
          {
            name: '/comm/basic/mf/edit',
            path: '/comm/basic/mf/edit/:itemId',
            component: () => import('../pages/basic/Mf.vue'),
            meta: {needRight: 'Comm.Mf.Edit'}
          }
        ]
      },
      //预定进货通知单管理
      {
        path: '/wms/work/asn',
        component: {render: () => h(RouterView)},
        children: [
          // 列表
          {
            name: '/wms/work/asn',
            path: '',
            component: () => import('../pages/work/AsnList.vue'),
            meta: {needRight: 'Wms.Work.Asn.View'}
          },
          // 创建
          {
            name: '/wms/work/asn/create',
            path: '/wms/work/asn/create',
            component: () => import('../pages/work/Asn.vue'),
            meta: {needRight: 'Wms.Work.Asn.Edit'}
          },
          // 查看
          {
            name: '/wms/work/asn/detail',
            path: '/wms/work/asn/detail/:itemId',
            component: () => import('../pages/work/Asn.vue'),
            meta: {needRight: 'Wms.Work.Asn.View'}
          },
          // 编辑
          {
            name: '/wms/work/asn/edit',
            path: '/wms/work/asn/edit/:itemId',
            component: () => import('../pages/work/Asn.vue'),
            meta: {needRight: 'Wms.Work.Asn.Edit'}
          }
        ]
      },
      // 出货通知单
      {
        path: '/wms/work/order',
        component: {render: () => h(RouterView)},
        children: [
          // 列表
          {
            name: '/wms/work/order',
            path: '',
            component: () => import('@njt/wms/pages/work/OrderList.vue'),
            meta: {needRight: 'Wms.Work.Order.View'}
          },
          // 创建
          {
            name: '/wms/work/order/create',
            path: '/wms/work/order/create',
            component: () => import('../pages/work/Order.vue'),
            meta: {needRight: 'Wms.Work.Order.Edit'}
          },
          // 查看
          {
            name: '/wms/work/order/detail',
            path: '/wms/work/order/detail/:itemId',
            component: () => import('../pages/work/Order.vue'),
            meta: {needRight: 'Wms.Work.Order.View'}
          },
          // 编辑
          {
            name: '/wms/work/order/edit',
            path: '/wms/work/order/edit/:itemId',
            component: () => import('../pages/work/Order.vue'),
            meta: {needRight: 'Wms.Work.Order.Edit'}
          }
        ]
      },

      // 入库验收
      {
        name: '/wms/work/asn-receive',
        path: '/wms/work/asn-receive',
        component: () => import('@njt/wms/pages/work/AsnReceive.vue'),
        meta: {needRight: 'Wms.Work.Asn.ReceiveGoods'}
      },
      // 标签补打
      {
        name: '/wms/work/asn-receive-print-label',
        path: '/wms/work/asn-receive-print-label',
        component: () => import('@njt/wms/pages/work/AsnReceivePrintLabel.vue'),
        meta: {needRight: 'Wms.Work.Asn.ReceiveGoods'}
      },
      {
        name: '/wms/work/asn-itg',
        path: '/wms/work/asn-itg',
        component: () => import('@njt/wms/pages/work/AsnItg.vue'),
        meta: {needRight: 'Wms.Work.Asn.View'}
      },
      {
        name: '/wms/sku/move-itg',
        path: '/wms/sku/move-itg',
        component: () => import('pages/sku/InvMoveItg.vue'),
        meta: {needRight: 'Wms.Inv.InvMove.View'}
      },
      //出货装箱信息
      {
        path: '/wms/work/pack',
        component: {render: () => h(RouterView)},
        children: [
          // 查看出货装箱信息
          {
            name: '/wms/work/pack',
            path: '',
            component: () => import('@njt/wms/pages/work/PackList.vue'),
            meta: {needRight: 'Wms.Work.Order.PackView'}
          },
          // 创建出货装箱信息
          {
            name: '/wms/work/pack/create',
            path: '/wms/work/pack/create',
            component: () => import('@njt/wms/pages/work/Pack.vue'),
            meta: {needRight: 'Wms.Work.Order.PackEdit'}
          },
          // 查看出货装箱信息
          {
            name: '/wms/work/pack/detail',
            path: '/wms/work/pack/detail/:itemId',
            component: () => import('@njt/wms/pages/work/Pack.vue'),
            meta: {needRight: 'Wms.Inv.InvMove.View'}
          },
          // 编辑出货装箱信息
          {
            name: '/wms/work/pack/edit',
            path: '/wms/work/pack/edit/:itemId',
            component: () => import('@njt/wms/pages/work/Pack.vue'),
            meta: {needRight: 'Wms.Work.Order.PackEdit'}
          }
        ]
      },
      //出货装箱明细
      {
        name: '/wms/work/pack-itg',
        path: '/wms/work/pack-itg',
        component: () => import('@njt/wms/pages/work/PackItg.vue'),
        meta: {needRight: 'Wms.Work.Order.PackView'}
      },
      //客户标签打印
      {
        name: '/wms/work/print-label',
        path: '/wms/work/print-label',
        component: () => import('@njt/wms/pages/work/PrintLabel.vue'),
        meta: {needRight: 'Wms.Work.Order.PackLabeling'}
      },
      //出货通知单明细
      {
        name: '/wms/work/order-itg',
        path: '/wms/work/order-itg',
        component: () => import('@njt/wms/pages/work/OrderItg.vue'),
        meta: {needRight: 'Wms.Work.Order.View'}
      },
      //出库QC
      {
        name: '/wms/work/qc',
        path: '/wms/work/qc',
        component: () => import('@njt/wms/pages/work/Qc.vue'),
        meta: {needRight: 'Wms.Work.Order.PackQc'}
      },
      //出库QC辅助
      {
        name: '/wms/work/qc-manually',
        path: '/wms/work/qc-manually',
        component: () => import('@njt/wms/pages/work/QcManually.vue'),
        meta: {needRight: 'Wms.Work.Order.PackQc'}
      },
      //打托
      {
        path: '/wms/work/pallet',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/wms/work/pallet',
            path: '',
            component: () => import('@njt/wms/pages/work/PalletList.vue'),
            meta: {needRight: 'Wms.Work.Order.PalletView'}
          },
          {
            name: '/wms/work/pallet/create',
            path: '/wms/work/pallet/create',
            component: () => import('@njt/wms/pages/work/Pallet.vue'),
            meta: {needRight: 'Wms.Work.Order.PalletEdit'}
          },
          {
            name: '/wms/work/pallet/detail',
            path: '/wms/work/pallet/detail/:itemId',
            component: () => import('@njt/wms/pages/work/Pallet.vue'),
            meta: {needRight: 'Wms.Work.Order.PalletView'}
          },
          {
            name: '/wms/work/pallet/edit',
            path: '/wms/work/pallet/edit/:itemId',
            component: () => import('@njt/wms/pages/work/Pallet.vue'),
            meta: {needRight: 'Wms.Work.Order.PalletEdit'}
          }
        ]
      },
      // 提货单
      {
        path: '/wms/work/shipment',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/wms/work/shipment',
            path: '',
            component: () => import('@njt/wms/pages/work/ShipmentList.vue'),
            meta: {needRight: 'Wms.Work.Order.ShipmentView'}
          },
          {
            name: '/wms/work/shipment/create',
            path: '/wms/work/shipment/create',
            component: () => import('@njt/wms/pages/work/Shipment.vue'),
            meta: {needRight: 'Wms.Work.Order.ShipmentEdit'}
          },
          {
            name: '/wms/work/shipment/detail',
            path: '/wms/work/shipment/detail/:itemId',
            component: () => import('@njt/wms/pages/work/Shipment.vue'),
            meta: {needRight: 'Wms.Work.Order.ShipmentView'}
          },
          {
            name: '/wms/work/shipment/edit',
            path: '/wms/work/shipment/edit/:itemId',
            component: () => import('@njt/wms/pages/work/Shipment.vue'),
            meta: {needRight: 'Wms.Work.Order.ShipmentEdit'}
          }
        ]
      },
      {
        name: '/wms/inv/lotattr',
        path: '/wms/inv/lotattr/',
        component: () => import('@njt/wms/pages/inventory/InvLotAttrList.vue'),
        meta: {needRight: 'Wms.Inv.Inventory.View'}
      },
      //储位库存
      {
        name: '/wms/inv/loc',
        path: '/wms/inv/loc',
        component: () => import('pages/inventory/InvLocList.vue'),
        meta: {needRight: 'Wms.Inv.Inventory.View'}
      },
      //批号库存
      {
        name: '/wms/inv/lot',
        path: '/wms/inv/lot/',
        component: () => import('@njt/wms/pages/inventory/InvLotList.vue'),
        meta: {needRight: 'Wms.Inv.Inventory.View'}
      },
      //库存交易日志
      {
        name: '/wms/inv/tran',
        path: '/wms/inv/tran/',
        component: () => import('@njt/wms/pages/inventory/InvTranList.vue'),
        meta: {needRight: 'Wms.Inv.Inventory.View'}
      },
      // 贴标移库单
      {
        path: '/wms/sku/mhl-wms-move',
        component: {render: () => h(RouterView)},
        children: [
          // 查看移库列表
          {
            name: '/wms/sku/mhl-wms-move',
            path: '',
            component: () => import('pages/sku/MhlWmsInvMoveList.vue'),
            meta: {needRight: 'Wms.Inv.InvMove.View'}
          },
          // 创建移库
          {
            name: '/wms/sku/mhl-wms-move/create',
            path: 'create',
            component: () => import('pages/sku/MhlWmsInvMove.vue'),
            meta: {needRight: 'Wms.Inv.InvMove.Edit'}
          },
          // 查看移库表
          {
            name: '/wms/sku/mhl-wms-move/detail',
            path: 'detail/:itemId',
            component: () => import('pages/sku/MhlWmsInvMove.vue'),
            meta: {needRight: 'Wms.Inv.InvMove.View'}
          },
          // 编辑移库表
          {
            name: '/wms/sku/mhl-wms-move/edit',
            path: 'edit/:itemId',
            component: () => import('pages/inventory/InvMove.vue'),
            meta: {needRight: 'Wms.Inv.InvMove.Edit'}
          }
        ]
      },
      {
        path: '/wms/inv/move',
        component: {render: () => h(RouterView)},
        children: [
          // 查看移库列表
          {
            name: '/wms/inv/move',
            path: '',
            component: () => import('pages/inventory/InvMoveList.vue'),
            meta: {needRight: 'Wms.Inv.InvMove.View'}
          },
          // 创建移库
          {
            name: '/wms/inv/move/create',
            path: '/wms/inv/move/create',
            component: () => import('pages/inventory/InvMove.vue'),
            meta: {needRight: 'Wms.Inv.InvMove.Edit'}
          },
          // 查看移库表
          {
            name: '/wms/inv/move/detail',
            path: '/wms/inv/move/detail/:itemId',
            component: () => import('pages/inventory/InvMove.vue'),
            meta: {needRight: 'Wms.Inv.InvMove.View'}
          },
          // 编辑移库表
          {
            name: '/wms/inv/move/edit',
            path: '/wms/inv/move/edit/:itemId',
            component: () => import('pages/inventory/InvMove.vue'),
            meta: {needRight: 'Wms.Inv.InvMove.Edit'}
          }
        ]
      },
      {
        path: '/wms/sku/move',
        component: {render: () => h(RouterView)},
        children: [
          // 查看移库列表
          {
            name: '/wms/sku/move',
            path: '',
            component: () => import('pages/sku/InvMoveList.vue'),
            meta: {needRight: 'Wms.Inv.InvMove.View'}
          },
          // 创建移库
          {
            name: '/wms/sku/move/create',
            path: '/wms/sku/move/create',
            component: () => import('pages/sku/InvMove.vue'),
            meta: {needRight: 'Wms.Inv.InvMove.Edit'}
          },
          // 查看移库表
          {
            name: '/wms/sku/move/detail',
            path: '/wms/sku/move/detail/:itemId',
            component: () => import('pages/sku/InvMove.vue'),
            meta: {needRight: 'Wms.Inv.InvMove.View'}
          },
          // 编辑移库表
          {
            name: '/wms/sku/move/edit',
            path: '/wms/sku/move/edit/:itemId',
            component: () => import('pages/sku/InvMove.vue'),
            meta: {needRight: 'Wms.Inv.InvMove.Edit'}
          }
        ]
      },
      {
        path: '/wms/inv/adj',
        component: {render: () => h(RouterView)},
        children: [
          // 调整
          {
            name: '/wms/inv/adj',
            path: '',
            component: () => import('@njt/wms/pages/inventory/InvAdjList.vue'),
            meta: {needRight: 'Wms.Inv.InvAdj.View'}
          },
          // 创建库存调整
          {
            name: '/wms/inv/adj/create',
            path: '/wms/inv/adj/create',
            component: () => import('@njt/wms/pages/inventory/InvAdj.vue'),
            meta: {needRight: 'Wms.Inv.InvAdj.Edit'}
          },
          {
            name: '/wms/inv/adj/detail',
            path: '/wms/inv/adj/detail/:itemId',
            component: () => import('@njt/wms/pages/inventory/InvAdj.vue'),
            meta: {needRight: 'Wms.Inv.InvAdj.View'}
          },

          {
            name: '/wms/inv/adj/edit',
            path: '/wms/inv/adj/edit/:itemId',
            component: () => import('@njt/wms/pages/inventory/InvAdj.vue'),
            meta: {needRight: 'Wms.Inv.InvAdj.Edit'}
          }
        ]
      },
      {
        path: '/wms/inv/transfer',
        component: {render: () => h(RouterView)},
        children: [
          // 调拨
          {
            name: '/wms/inv/transfer',
            path: '',
            component: () => import('@njt/wms/pages/inventory/InvTransferList.vue'),
            meta: {needRight: 'Wms.Inv.InvTransfer.View'}
          },
          {
            name: '/wms/inv/transfer/create',
            path: '/wms/inv/transfer/create',
            component: () => import('@njt/wms/pages/inventory/InvTransfer.vue'),
            meta: {needRight: 'Wms.Inv.InvTransfer.Edit'}
          },
          {
            name: '/wms/inv/transfer/detail',
            path: '/wms/inv/transfer/detail/:itemId',
            component: () => import('@njt/wms/pages/inventory/InvTransfer.vue'),
            meta: {needRight: 'Wms.Inv.InvTransfer.View'}
          },

          {
            name: '/wms/inv/transfer/edit',
            path: '/wms/inv/transfer/edit/:itemId',
            component: () => import('@njt/wms/pages/inventory/InvTransfer.vue'),
            meta: {needRight: 'Wms.Inv.InvTransfer.Edit'}
          }
        ]
      },
      // 库存盘点
      {
        path: '/wms/inv/counting',
        component: {render: () => h(RouterView)},
        children: [
          {
            name: '/wms/inv/counting',
            path: '',
            component: () => import('@njt/wms/pages/inventory/CountingList.vue'),
            meta: {needRight: 'Wms.Inv.InvCounting.View'}
          },
          {
            name: '/wms/inv/counting/create',
            path: '/wms/inv/counting/create',
            component: () => import('@njt/wms/pages/inventory/Counting.vue'),
            meta: {needRight: 'Wms.Inv.InvCounting.Edit'}
          },
          {
            name: '/wms/inv/counting/detail',
            path: '/wms/inv/counting/detail/:itemId',
            component: () => import('@njt/wms/pages/inventory/Counting.vue'),
            meta: {needRight: 'Wms.Inv.InvCounting.View'}
          },

          {
            name: '/wms/inv/counting/edit',
            path: '/wms/inv/counting/edit/:itemId',
            component: () => import('@njt/wms/pages/inventory/Counting.vue'),
            meta: {needRight: 'Wms.Inv.InvCounting.Edit'}
          }
        ]
      },
      {
        path: '/wms/bill/billing-policy',
        component: {render: () => h(RouterView)},
        children: [
          // 计费策略
          {
            name: '/wms/bill/billing-policy',
            path: '',
            component: () => import('@njt/wms/pages/bill/BillingPolicyList.vue'),
            meta: {needRight: 'Wms.Bill.BillingPolicy.View'}
          },
          {
            name: '/wms/bill/billing-policy/create',
            path: '/wms/bill/billing-policy/create',
            component: () => import('@njt/wms/pages/bill/BillingPolicy.vue'),
            meta: {needRight: 'Wms.Bill.BillingPolicy.Edit'}
          },
          // 查看计费策略
          {
            name: '/wms/bill/billing-policy/detail',
            path: '/wms/bill/billing-policy/detail/:itemId',
            component: () => import('@njt/wms/pages/bill/BillingPolicy.vue'),
            meta: {needRight: 'Wms.Bill.BillingPolicy.View'}
          },
          // 编辑计费策略
          {
            name: '/wms/bill/billing-policy/edit',
            path: '/wms/bill/billing-policy/edit/:itemId',
            component: () => import('@njt/wms/pages/bill/BillingPolicy.vue'),
            meta: {needRight: 'Wms.Bill.BillingPolicy.Edit'}
          }
        ]
      },
      {
        path: '/wms/piecework/piecework-policy',
        component: {render: () => h(RouterView)},
        children: [
          // 计件策略
          {
            name: '/wms/piecework/piecework-policy',
            path: '',
            component: () => import('@njt/wms/pages/piecework/PieceworkPolicyList.vue'),
            meta: {needRight: 'Wms.Piecework.PieceworkPolicy.View'}
          },
          {
            name: '/wms/piecework/piecework-policy/create',
            path: '/wms/piecework/piecework-policy/create',
            component: () => import('@njt/wms/pages/piecework/PieceworkPolicy.vue'),
            meta: {needRight: 'Wms.Piecework.PieceworkPolicy.Edit'}
          },
          // 查看计件策略
          {
            name: '/wms/piecework/piecework-policy/detail',
            path: '/wms/piecework/piecework-policy/detail/:itemId',
            component: () => import('@njt/wms/pages/piecework/PieceworkPolicy.vue'),
            meta: {needRight: 'Wms.Piecework.PieceworkPolicy.View'}
          },
          // 编辑计件策略
          {
            name: '/wms/piecework/piecework-policy/edit',
            path: '/wms/piecework/piecework-policy/edit/:itemId',
            component: () => import('@njt/wms/pages/piecework/PieceworkPolicy.vue'),
            meta: {needRight: 'Wms.Piecework.PieceworkPolicy.Edit'}
          }
        ]
      },
      // 计件条目
      {
        name: '/wms/piecework/piecework-item',
        path: '/wms/piecework/piecework-item',
        component: () => import('@njt/wms/pages/piecework/PieceworkItemList.vue'),
        meta: {needRight: 'Wms.Piecework.PieceworkItem.View'}
      },
      //计费条目
      {
        name: '/wms/bill/billing-item',
        path: '/wms/bill/billing-item',
        component: () => import('@njt/wms/pages/bill/BillingItemList.vue'),
        meta: {needRight: 'Wms.Bill.BillingItem.View'}
      },
      {
        path: '/wms/rule/lacr',
        component: {render: () => h(RouterView)},
        children: [
          //批号属性管控设置
          {
            name: '/wms/rule/lacr',
            path: '',
            component: () => import('@njt/wms/pages/rule/LacrList.vue'),
            meta: {needRight: 'Wms.Rule.Lacr.View'}
          },
          //  批号属性管控创建
          {
            name: '/wms/rule/lacr/create',
            path: '/wms/rule/lacr/create',
            component: () => import('@njt/wms/pages/rule/Lacr.vue'),
            meta: {needRight: 'Wms.Rule.Lacr.Edit'}
          },
          //  批号属性管控详细
          {
            name: '/wms/rule/lacr/detail',
            path: '/wms/rule/lacr/detail/:itemId',
            component: () => import('@njt/wms/pages/rule/Lacr.vue'),
            meta: {needRight: 'Wms.Rule.Lacr.View'}
          },
          //  批号属性管控修改
          {
            name: '/wms/rule/lacr/edit',
            path: '/wms/rule/lacr/edit/:itemId',
            component: () => import('@njt/wms/pages/rule/Lacr.vue'),
            meta: {needRight: 'Wms.Rule.Lacr.Edit'}
          }
        ]
      },
      {
        path: '/wms/rule/packrule',
        component: {render: () => h(RouterView)},
        children: [
          // 出货装箱建议规则列表
          {
            name: '/wms/rule/packrule',
            path: '',
            component: () => import('@njt/wms/pages/rule/PackRuleList.vue'),
            meta: {needRight: 'Wms.Rule.PackRule.View'}
          },
          // 出货装箱建议规则创建
          {
            name: '/wms/rule/packrule/create',
            path: '/wms/rule/packrule/create',
            component: () => import('@njt/wms/pages/rule/PackRule.vue'),
            meta: {needRight: 'Wms.Rule.PackRule.Edit'}
          },
          // 出货装箱建议规则详细
          {
            name: '/wms/rule/packrule/detail',
            path: '/wms/rule/packrule/detail/:itemId',
            component: () => import('@njt/wms/pages/rule/PackRule.vue'),
            meta: {needRight: 'Wms.Rule.PackRule.View'}
          },
          // 出货装箱建议规则修改
          {
            name: '/wms/rule/packrule/edit',
            path: '/wms/rule/packrule/edit/:itemId',
            component: () => import('@njt/wms/pages/rule/PackRule.vue'),
            meta: {needRight: 'Wms.Rule.PackRule.Edit'}
          }
        ]
      },
      {
        path: '/wms/rule/allocaterule',
        component: {render: () => h(RouterView)},
        children: [
          // 出货配货规则
          {
            name: '/wms/rule/allocaterule',
            path: '',
            component: () => import('@njt/wms/pages/rule/AllocateRuleList.vue'),
            meta: {needRight: 'Wms.Rule.AllocateRule.View'}
          },
          //  出货配货规则创建
          {
            name: '/wms/rule/allocaterule/create',
            path: '/wms/rule/allocaterule/create',
            component: () => import('@njt/wms/pages/rule/AllocateRule.vue'),
            meta: {needRight: 'Wms.Rule.AllocateRule.Edit'}
          },
          //  出货配货规则详细
          {
            name: '/wms/rule/allocaterule/detail',
            path: '/wms/rule/allocaterule/detail/:itemId',
            component: () => import('@njt/wms/pages/rule/AllocateRule.vue'),
            meta: {needRight: 'Wms.Rule.AllocateRule.View'}
          },
          //  出货配货规则修改
          {
            name: '/wms/rule/allocaterule/edit',
            path: '/wms/rule/allocaterule/edit/:itemId',
            component: () => import('@njt/wms/pages/rule/AllocateRule.vue'),
            meta: {needRight: 'Wms.Rule.AllocateRule.Edit'}
          }
        ]
      },

      {
        path: '/wms/rule/putawayzone',
        component: {render: () => h(RouterView)},
        children: [
          // 上架区域设置
          {
            name: '/wms/rule/putawayzone',
            path: '',
            component: () => import('@njt/wms/pages/rule/PutawayZoneList.vue'),
            meta: {needRight: 'Wms.Rule.PutawayZone.View'}
          },
          //  上架区域设置创建
          {
            name: '/wms/rule/putawayzone/create',
            path: '/wms/rule/putawayzone/create',
            component: () => import('@njt/wms/pages/rule/PutawayZone.vue'),
            meta: {needRight: 'Wms.Rule.PutawayZone.Edit'}
          },
          //  上架区域设置详细
          {
            name: '/wms/rule/putawayzone/detail',
            path: '/wms/rule/putawayzone/detail/:itemId',
            component: () => import('@njt/wms/pages/rule/PutawayZone.vue'),
            meta: {needRight: 'Wms.Rule.PutawayZone.View'}
          },
          //  上架区域设置修改
          {
            name: '/wms/rule/putawayzone/edit',
            path: '/wms/rule/putawayzone/edit/:itemId',
            component: () => import('@njt/wms/pages/rule/PutawayZone.vue'),
            meta: {needRight: 'Wms.Rule.PutawayZone.Edit'}
          }
        ]
      },
      {
        path: '/wms/rule/putawayrule',
        component: {render: () => h(RouterView)},
        children: [
          // 上架规则设置
          {
            name: '/wms/rule/putawayrule',
            path: '',
            component: () => import('@njt/wms/pages/rule/PutawayRuleList.vue'),
            meta: {needRight: 'Wms.Rule.PutawayRule.View'}
          },
          //  上架规则创建
          {
            name: '/wms/rule/putawayrule/create',
            path: '/wms/rule/putawayrule/create',
            component: () => import('@njt/wms/pages/rule/PutawayRule.vue'),
            meta: {needRight: 'Wms.Rule.PutawayRule.Edit'}
          },
          //  上架规则详细
          {
            name: '/wms/rule/putawayrule/detail',
            path: '/wms/rule/putawayrule/detail/:itemId',
            component: () => import('@njt/wms/pages/rule/PutawayRule.vue'),
            meta: {needRight: 'Wms.Rule.PutawayRule.View'}
          },
          //  上架规则修改
          {
            name: '/wms/rule/putawayrule/edit',
            path: '/wms/rule/putawayrule/edit/:itemId',
            component: () => import('@njt/wms/pages/rule/PutawayRule.vue'),
            meta: {needRight: 'Wms.Rule.PutawayRule.Edit'}
          }
        ]
      },
      //规则配置
      {
        name: '/wms/rule/ruleconfig',
        path: '/wms/rule/ruleconfig',
        component: () => import('@njt/wms/pages/rule/RuleConfig.vue'),
        meta: {needRight: 'Wms.Lbl.LblConfig.View'}
      },
      //快递默认配置
      {
        name: '/wms/rule/express-default-config',
        path: '/wms/rule/express-default-config',
        component: () => import('@njt/wms/pages/rule/ExpressDefaultConfig.vue'),
        meta: { needRight: 'Wms.Rule.ExpressDefaultConfig.View' }
      },
      {
        path: '/wms/lbl/config',
        component: {render: () => h(RouterView)},
        children: [
          //标签打印设置
          {
            name: '/wms/lbl/config',
            path: '',
            component: () => import('@njt/wms/pages/lbl/LblConfigList.vue'),
            meta: {needRight: 'Wms.Lbl.LblConfig.View'}
          },
          //  标签打印设置创建
          {
            name: '/wms/lbl/config/create',
            path: '/wms/lbl/config/create',
            component: () => import('@njt/wms/pages/lbl/LblConfig.vue'),
            meta: {needRight: 'Wms.Lbl.LblConfig.Edit'}
          },
          //  标签打印设置详细
          {
            name: '/wms/lbl/config/detail',
            path: '/wms/lbl/config/detail/:itemId',
            component: () => import('@njt/wms/pages/lbl/LblConfig.vue'),
            meta: {needRight: 'Wms.Lbl.LblConfig.View'}
          },
          //  标签打印设置修改
          {
            name: '/wms/lbl/config/edit',
            path: '/wms/lbl/config/edit/:itemId',
            component: () => import('@njt/wms/pages/lbl/LblConfig.vue'),
            meta: {needRight: 'Wms.Lbl.LblConfig.Edit'}
          }
        ]
      },
      //我的计件会汇总
      {
        name: '/wms/my/piecework-summary',
        path: '/wms/my/piecework-summary',
        component: () => import('@njt/wms/pages/my/MyPieceworkSummary.vue')
      },
      //我的计件明细
      {
        name: '/wms/my/piecework-item-list',
        path: '/wms/my/piecework-item-list',
        component: () => import('@njt/wms/pages/my/MyPieceworkItemList.vue')
      },
      // 角色权限
      {
        path: '/comm/cfg/roleright',
        component: {render: () => h(RouterView)},
        children: [
          // 查看角色权限列表
          {
            name: '/comm/cfg/roleright',
            path: '',
            component: () => import('@njt/foundation/pages/cfg/RoleRightList.vue'),
            meta: {needRight: 'Comm.RoleRight.View'}
          },
          // 创建角色权限
          {
            name: '/comm/cfg/roleright/create',
            path: '/comm/cfg/roleright/create',
            component: () => import('../pages/cfg/RoleRight.vue'),
            meta: {needRight: 'Comm.RoleRight.Edit'}
          },
          // 查看角色权限
          {
            name: '/comm/cfg/roleright/detail',
            path: '/comm/cfg/roleright/detail/:itemId',
            component: () => import('../pages/cfg/RoleRight.vue'),
            meta: {needRight: 'Comm.RoleRight.View'}
          },
          // 编辑角色权限
          {
            name: '/comm/cfg/roleright/edit',
            path: '/comm/cfg/roleright/edit/:itemId',
            component: () => import('../pages/cfg/RoleRight.vue'),
            meta: {needRight: 'Comm.RoleRight.Edit'}
          }
        ]
      },
      // 代码设置
      {
        path: '/comm/cfg/code',
        component: {render: () => h(RouterView)},
        children: [
          // 查看代码设置列表
          {
            name: '/comm/cfg/code',
            path: '',
            component: () => import('@njt/foundation/pages/cfg/CodeList.vue'),
            meta: {needRight: 'Comm.Code.View'}
          },
          // 查看代码设置
          {
            name: '/comm/cfg/code/detail',
            path: '/comm/cfg/code/detail/:itemId',
            component: () => import('@njt/foundation/pages/cfg/Code.vue'),
            meta: {needRight: 'Comm.Code.View'}
          }
        ]
      },
      // 文件管理
      {
        name: '/comm/cfg/fms',
        path: '/comm/cfg/fms',
        component: () => import('@njt/foundation/pages/cfg/Fms.vue'),
        meta: {needRight: 'Comm.Fms.Management'}
      },
      // 更新记录
      {
        name: '/comm/cfg/updaterecord',
        path: '/comm/cfg/updaterecord',
        component: () => import('@njt/foundation/pages/sys/UpdateRecord.vue')
      }
    ]
  },
  {
    path: '/',
    component: () => import('layouts/CenterBoxLayout.vue'),
    children: [
      {
        name: '/comm/auth/login',
        path: '/comm/auth/login',
        component: () => import('pages/auth/Login.vue'),
        meta: {needLogin: false}
      },
      {
        name: '/comm/auth/forgot-password',
        path: '/comm/auth/forgot-password',
        component: () => import('pages/auth/ForgotPassword.vue'),
        meta: {needLogin: false}
      },
      {
        name: '/comm/auth/reset-password',
        path: '/comm/auth/reset-password',
        component: () => import('pages/auth/ResetPassword.vue'),
        meta: {needLogin: false}
      },
      {
        name: '/comm/auth/renew-password',
        path: '/comm/auth/renew-password',
        component: () => import('pages/auth/ResetPassword.vue'),
        meta: {needLogin: false}
      },
      {
        name: '/comm/auth/set-password-first-time',
        path: '/comm/auth/set-password-first-time',
        component: () => import('pages/auth/ResetPassword.vue'),
        meta: {needLogin: false}
      },
      {
        name: '/comm/auth/change-password',
        path: '/comm/auth/change-password',
        component: () => import('pages/auth/ChangePassword.vue')
      }
    ]
  },
  // region bfs
  {
    name: '/bfs/dec/bond-invt/print',
    path: '/bfs/dec/bond-invt/print',
    component: () => import('@njt/bfs/pages/work/PrintDecBondInvtForEy.vue')
  },
  {
    name: '/bfs/allocate/sas-stock/print',
    path: '/bfs/allocate/sas-stock/print',
    component: () => import('@njt/bfs/pages/allocate/PrintSasStockForEy.vue')
  },

  // endregion
  // Always leave this as last one,
  // but you can also remove it
  {
    path: '/:catchAll(.*)*',
    component: () => import('@njt/foundation/pages/sys/Error404.vue')
  }
]

export default routes
